MIME Type Lookup for File Extensions and Content-Types
This MIME type lookup maps file extensions to the media types browsers and servers expect, and works the other way too: search video/ and you get every video extension in the table. It covers the formats web developers handle daily, from images and fonts to Office documents, archives, certificates and 3D models, plus common content types that have no file extension such as multipart/form-data.
What is a MIME type?
A MIME type (officially a media type) is a two-part label like image/png: a top-level type, a slash and a subtype. Servers send it in the Content-Type header, and browsers use it rather than the file name to decide whether to render, play or download a response. A wrong type causes real bugs: a stylesheet served as text/plain is ignored, and a script served with the wrong type is blocked when the server sends X-Content-Type-Options: nosniff.
Example
You can search several items at once, separated by spaces or commas. Full file names work too, since only the extension is used:
webp avif .woff2 report.pdf
.webp image/webp
.avif image/avif
.woff2 font/woff2
.pdf application/pdf
Gotchas worth knowing
- JavaScript is
text/javascript. The olderapplication/javascriptstill works, but the current standard namestext/javascriptfor.jsand.mjsfiles. .tsis not TypeScript here. The registered meaning of.tsis an MPEG transport stream (video/mp2t), used by HLS video. Servers that send that type for TypeScript source can confuse tools, so be explicit in your config.- SVG needs
image/svg+xml. Served astext/xml, an SVG in an<img>tag will not display. You can check the file itself in the SVG viewer. - Office files use long vendor types. A
.docxisapplication/vnd.openxmlformats-officedocument.wordprocessingml.document, which is why copying beats typing. - Unknown binary data should be sent as
application/octet-stream, which tells browsers to download rather than display it.
Where you use the result
Paste the type into an nginx types block, an Apache AddType line, an S3 object's metadata, a Content-Type header in your API, or the accept attribute of a file input. It is also the prefix of a data URI, so when you build one with the image to Base64 converter the MIME type goes right after data:. For response codes rather than content types, see the HTTP status codes list.
Privacy
The lookup table ships with the page and every search runs locally in your browser, so the file names you type are never uploaded.