.mjs MIME Type: text/javascript

Files ending in .mjs (JavaScript module) use the MIME type text/javascript.

Updated

text/javascript
MIME type for .mjs
Web
Category
Yes
Compress with gzip/Brotli

What is the MIME type of .mjs files?

The MIME type (media type) for JavaScript module files with the .mjs extension is text/javascript. You may also see application/javascript. The same type is used for .js. The .mjs extension marks ES modules in Node.js. Some older servers do not know it and send application/octet-stream, which browsers reject for module scripts — add the type explicitly.

Content-Type header

Content-Type: text/javascript; charset=utf-8

Text-based types should include a charset so the browser decodes characters correctly.

Server configuration

ServerConfiguration
Nginx (mime.types or types {})text/javascript mjs;
Apache (.htaccess)AddType text/javascript .mjs
IIS (web.config)<mimeMap fileExtension=".mjs" mimeType="text/javascript" />
Node.js / Expressres.type('mjs') or res.setHeader('Content-Type', 'text/javascript; charset=utf-8')
Amazon S3Set Content-Type: text/javascript on the object (metadata), or pass --content-type text/javascript to aws s3 cp

Should .mjs files be compressed?

Yes. JavaScript module is text, so enabling gzip or Brotli for text/javascript typically saves 50–80 % of the transfer size. Make sure your server’s compression list includes this type — check with the website compression test.

Why the MIME type matters

Browsers decide what to do with a response — render, run, play or download — from the Content-Type header, not the file extension. With X-Content-Type-Options: nosniff, a wrong type causes stylesheets and scripts to be blocked outright. For uploads, never trust the type sent by the client; check the file’s content (its magic bytes) on the server.

MIME type lookupSearch every common file extension and MIME type, with copy-ready Content-Type headers.
Search all MIME types

Frequently asked questions

What is the MIME type for .mjs?
text/javascript. Alternatives seen in the wild: application/javascript.
How do I set the Content-Type for .mjs in Nginx?
Make sure text/javascript mjs; is listed in the types block (usually in /etc/nginx/mime.types) and reload Nginx.
Should I gzip .mjs files?
Yes — the format compresses well, so add the type to your gzip/Brotli configuration.