MIME Type Lookup
Looks up a MIME type from an extension or the other way round, and sniffs the type from file bytes.
Two lookups in one page: what MIME type an extension maps to, and what a file actually is according to its first bytes. Those two answers can honestly disagree, and when they do the bytes are right.
Look up by extension or type
| MIME type | Extensions | Registry |
|---|---|---|
| application/geo+json | .geojson | iana |
| application/hjson | .hjson | de-facto |
| application/json | .json .map | iana |
| application/json5 | .json5 | de-facto |
| application/jsonml+json | .jsonml | apache |
| application/ld+json | .jsonld | iana |
| application/manifest+json | .webmanifest | iana |
| application/ubjson | .ubj | de-facto |
| application/x-ipynb+json | .ipynb | de-facto |
| application/x-web-app-manifest+json | .webapp | de-facto |
| model/gltf+json | .gltf | iana |
Sniff a file’s actual type
Drop any file
Only the first 4 KB are read, in this tab.
How to use it
Type an extension or a type
The search goes both ways — `pdf` finds `application/pdf`, and `application/json` finds the extensions that map to it. Korean formats like `hwp` are in the table too.
Or drop the file itself
Only the first 4 KB are read, in this tab, and compared against known magic numbers. That is enough to identify most container and image formats.
Compare the two answers
A `.jpg` whose bytes say PNG is a renamed file; a `.csv` whose bytes say ZIP is an `.xlsx` somebody renamed. That mismatch is usually the reason someone is on this page.
Common questions
Why does my file have no signature?
Either it is a text format — CSV, JSON, HTML and plain text have no magic number at all — or it is a format this sniffer does not cover. The table is the common formats, not everything ever registered.
Why do two different types share an extension?
Because registries disagree. The table combines the IANA registry with the Apache and nginx maps — which is what servers actually send — so you can see both the official type and the one your server will use.
Is the extension or the MIME type authoritative?
Neither, quite. An extension is a naming convention a user can change; a `Content-Type` header is a claim the server makes and can get wrong. The magic number is the only one of the three that describes the file itself — which is why browsers sniff.
Feed it from
Hex Viewer
Shows any file as an offset/hex/ASCII dump, identifies the magic bytes and highlights a search hit.
HTTP Status Reference
Explains every status code with its spec meaning, cacheability and the mistakes people make with it.
JSON Formatter & Validator
Pretty-prints, minifies and validates JSON, pointing at the exact line and column of a syntax error.
YAML Formatter & Validator
Re-indents YAML consistently, validates it, and flags the tab and anchor mistakes that break parsers.
Next
These accept what this tool produces, so the result can go straight in.
Hex Viewer
Shows any file as an offset/hex/ASCII dump, identifies the magic bytes and highlights a search hit.
HTTP Header Inspector
Fetches a URL and shows the full response headers, redirect chain, timings and compression used.
HTTP Status Reference
Explains every status code with its spec meaning, cacheability and the mistakes people make with it.
Base64 Encoder & Decoder
Encodes and decodes Base64 and Base64URL for text or files, handling UTF-8 correctly.
curl to Code
Converts a curl command into fetch, axios, Python requests, Go, PHP or PowerShell.
Text Hash
Computes MD5, SHA-1, SHA-256, SHA-384, SHA-512 and CRC-32 of a string, with an uppercase and Base64 output option.