The MIME Type Lookup & File Extension Map answers both questions developers ask about content types: “what MIME type does this extension use?” and “what extensions does this MIME type cover?” It searches a built-in registry instantly and entirely offline.
How it works
The tool ships with a curated subset of the IANA / mime-db registry mapping each MIME type to its associated file extensions. When you type:
- an input containing a slash (e.g.
application/pdf) it is treated as a MIME type and the tool lists every registered extension; - otherwise the input is treated as a file extension (a leading dot is optional) and the tool returns the matching MIME type along with that type’s full extension list.
If an exact match is not found, the tool falls back to a substring search so a partial MIME fragment still surfaces likely candidates.
Worked examples
| You type | Direction | Result |
|---|---|---|
png | extension → MIME | image/png |
image/jpeg | MIME → extensions | .jpg, .jpeg, .jpe |
pdf | extension → MIME | application/pdf |
application/json | MIME → extensions | .json |
wasm | extension → MIME | application/wasm |
xyz (unknown) | extension → MIME | application/octet-stream suggested |
Why the Content-Type header matters
When a browser fetches a resource, it uses the Content-Type response header to
decide how to handle it. A CSS file served as text/plain will not be applied
as a stylesheet. A script served as image/jpeg will not execute. Modern browsers
implement strict MIME checking — deliberately — as a security measure against
content-confusion attacks where a malicious server disguises executable content
as something harmless.
Getting the type right also matters for:
- Download behavior. A
Content-Disposition: attachmentheader pairs with a meaningful MIME type so operating systems know which application to open the file with. - Compression decisions. Proxies and CDNs often decide whether to compress a
response based on MIME type, so serving JavaScript as
text/javascriptrather thantext/plainmay activate gzip or brotli compression. - Security headers.
X-Content-Type-Options: nosnifftells browsers not to sniff a type that conflicts with the declared one — you must declare the right type for that header to work without breaking things.
Common types to look up
- Web fonts —
.woff2→font/woff2;.woff→font/woff - Modern images —
.webp→image/webp;.avif→image/avif - Media —
.mp4→video/mp4;.webm→video/webm - Data —
.jsonld→application/ld+json;.ndjson→application/x-ndjson - Manifests —
.webmanifest→application/manifest+json
For unknown binary formats, application/octet-stream remains the safe
catch-all: it prompts a download rather than inline rendering, which is safer
than guessing wrong.