MIME Type & File Extension Lookup — Free
Runs 100% in your browser — your files never leave your device.
Upload validation, Content-Type headers, and download responses all depend on matching the right media type to a file extension. Search by extension such as json or png, or by MIME text such as application/pdf, and inspect every matching mapping.
How it works
- 1
Search an extension or MIME type
- 2
Review matching mappings
- 3
Use the charset and content type
About this tool
What MIME types decide
The Content-Type header tells receivers how to interpret bytes: render as HTML, execute as script, download as octet-stream. The lookup maps extensions and names to their registered types — the same table servers and browsers negotiate with.
The debugging cases
Files downloading instead of rendering: wrong Content-Type. CSS or JS refused by the browser: text/css and application/javascript must be exact — nosniff makes browsers refuse mislabeled scripts outright. Uploads rejected: the server validates the declared type against its allowlist.
Exact types, not guesses
Modern tables matter: application/javascript (not text/javascript on older stacks), font/woff2, image/webp, application/json. Serving a type the spec does not register can break strict clients — the lookup gives the registered answer, not a guess.
Frequently asked questions
What is the difference between application/octet-stream and text/plain?
octet-stream means "unknown binary, download it"; text/plain means "readable text, display it". Mislabeled files either force downloads or render garbage.
Why did my JS file refuse to load with nosniff?
With X-Content-Type-Options: nosniff, browsers enforce the declared type strictly — a script served as text/plain or octet-stream is blocked. Fix the server's MIME mapping, not the header.
Do file extensions determine the MIME type?
Extensions are a lookup hint — the actual type is whatever the server declares in the header. The mapping between them is exactly what this tool answers.