Content-Type header to send for files of a given extension. Browsers use that header to decide whether to render, download, or ignore the file.


When you’d use it
The server already knows the right MIME type for.html, .css, .js, .png, .jpg, .pdf, and most modern formats. Reach for this tool only when you serve a file extension the server doesn’t know.
Cases we still see:
.webmanifest: a PWA manifest. Some Apache configs don’t set the right type. Map toapplication/manifest+json..epub: ebook download. Map toapplication/epub+zip..wasm: WebAssembly binaries. Map toapplication/wasm.
Add a MIME type
Type the content type
Examples:
application/wasm, application/manifest+json, application/epub+zip. The full list is in the IANA registry.Common questions
My PWA manifest is being served as text/html
My PWA manifest is being served as text/html
The server doesn’t have
.webmanifest mapped. Add a MIME type with Type: application/manifest+json and Extension: webmanifest. Browsers will then accept the manifest.A custom file extension downloads instead of rendering inline
A custom file extension downloads instead of rendering inline
Either the MIME type is wrong, or the response includes
Content-Disposition: attachment. Add the right MIME type here first; if downloads continue, check your application code (or .htaccess) for a Content-Disposition line.Should I list common extensions like .css here?
Should I list common extensions like .css here?
No. The server defaults already cover them. Adding a duplicate entry is harmless but pointless. Only add types the server doesn’t recognize by default.

