Skip to content

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.

🔒 Runs entirely in your browsermimecontent-typelookup

Look up by extension or type

MIME typeExtensionsRegistry
application/geo+json.geojsoniana
application/hjson.hjsonde-facto
application/json.json .mapiana
application/json5.json5de-facto
application/jsonml+json.jsonmlapache
application/ld+json.jsonldiana
application/manifest+json.webmanifestiana
application/ubjson.ubjde-facto
application/x-ipynb+json.ipynbde-facto
application/x-web-app-manifest+json.webappde-facto
model/gltf+json.gltfiana

Sniff a file’s actual type

Drop any file

Only the first 4 KB are read, in this tab.

The table is mime-db@1.54.0 — the IANA registry plus the Apache and nginx maps, which is what servers actually send — with the Korean Hancom formats added and marked de-facto. The extension and the bytes can honestly disagree: an extension is a naming convention, the magic number is what the file is.

How to use it

  1. 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.

  2. 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.

  3. 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

Next

These accept what this tool produces, so the result can go straight in.