MIME type library

Internet media type registry111 types · 9 families

Header desk / media types

The Content-Type header decides what the browser does next.

111 media types with the parts a lookup table leaves out: whether the type executes in the page, whether a charset parameter belongs on it, whether compressing it helps, and the response headers that follow from all three.

Paste a header, not a guess

Drop an Accept header into the finder and it runs the RFC 9110 negotiation for you — every acceptable type, ranked by the weight that actually applies. Paste a Content-Type instead and it validates the parameters.

text/html,application/xml;q=0.9,*/*;q=0.8

What the browser does with the bytes

derived verdict

Executes in the page

Runs script in the origin that serves it. Never serve untrusted uploads under these types from an origin that holds sessions.

5

Renders inertly

Rendered in the tab but inert — the browser draws it without giving it access to the page.

31

Downloads

No browser renderer exists, so it saves to disk even when served inline. The quiet, safe default.

75

The registry by family

coverage

Application

52

Text

12

Image

13

Audio

8

Video

11

Font

5

Multipart

4

Message

2

3D model

4

How the names are structured

RFC 6838

Standards tree

85

Vendor tree

14

Personal tree

0

Unregistered tree

12

A media type reads type/[tree.]subtype[+suffix]. The tree prefix says who owns the name — vnd. for a vendor, x- for something never registered. The suffix after a plus names the underlying serialisation, which is why any JSON parser can read application/problem+json without knowing what a problem document is. 14 types here carry one.

Every media type

type · extensions

Application

The catch-all family: structured data, archives, documents, executables, and anything without a family of its own.

application/json.json .mapapplication/ld+json.jsonldapplication/problem+jsonno file extensionapplication/manifest+json.webmanifestapplication/vnd.api+jsonno file extensionapplication/geo+json.geojsonapplication/x-ndjson.ndjson .jsonlapplication/javascript.jsapplication/wasm.wasmapplication/xml.xml .xsl .xsd .rngapplication/xhtml+xml.xhtml .xhtapplication/atom+xml.atomapplication/rss+xml.rssapplication/soap+xmlno file extensionapplication/dash+xml.mpdapplication/vnd.apple.mpegurl.m3u8application/pdf.pdfapplication/zip.zipapplication/gzip.gz .tgzapplication/x-tar.tarapplication/x-7z-compressed.7zapplication/x-bzip2.bz2application/zstd.zstapplication/octet-stream.bin .dms .lrf .soapplication/x-www-form-urlencodedno file extensionapplication/jwtno file extensionapplication/joseno file extensionapplication/sql.sqlapplication/graphql-response+jsonno file extensionapplication/epub+zip.epubapplication/rtf.rtfapplication/msword.doc .dotapplication/vnd.ms-excel.xls .xlm .xlaapplication/vnd.ms-powerpoint.ppt .pot .ppsapplication/vnd.openxmlformats-officedocument.wordprocessingml.document.docxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet.xlsxapplication/vnd.openxmlformats-officedocument.presentationml.presentation.pptxapplication/vnd.oasis.opendocument.text.odtapplication/vnd.oasis.opendocument.spreadsheet.odsapplication/vnd.oasis.opendocument.presentation.odpapplication/x-sh.sh .bashapplication/x-httpd-php.php .phtmlapplication/java-archive.jar .war .earapplication/vnd.android.package-archive.apkapplication/vnd.microsoft.portable-executable.exe .dllapplication/dns-messageno file extensionapplication/pkcs8.p8application/x-x509-ca-cert.crt .der .cerapplication/yaml.yaml .ymlapplication/toml.tomlapplication/ogg.ogxapplication/vnd.ms-fontobject.eot

Text

Human-readable payloads. Every one of them needs a charset parameter, and several execute in the browser.

Image

Raster and vector graphics. All but one render inertly — SVG is the exception, and it matters.

Audio

Sound, in containers that almost always compress internally already.

Video

Moving pictures, where range requests and container layout decide whether playback feels instant.

Font

Webfont and desktop font resources, fetched in CORS mode even from your own origin.

Multipart

Bodies made of several parts, each with its own headers — form uploads and email.

Message

A complete message carried as a payload, such as an email or an HTTP exchange.

3D model

Three-dimensional geometry and scenes.

A Content-Type is a claim, not a fact

The header says how to interpret the bytes; it does not prove what they are. On an upload the value is supplied by the client and can say anything, which is why validation has to read the file signature instead. On a response the value is chosen by your server, and getting it wrong is how a stylesheet stops applying, a module script gets blocked, or an uploaded SVG runs script in your origin.

5 of the types here execute in the page. 49 are worth compressing in transit and the rest already compress internally. 14 have no file extension at all — they exist only as headers, so no server mime.types mapping will ever produce them. 3 are obsolete and named here so you can recognise them in old configuration.

Media types111
Structured14
Compressible49
Active5