QiLing Tools

📇MIME Type Cheat Sheet - Content-Type by File Extension

Configuring Nginx, writing a download endpoint or debugging a multipart upload always ends with the same question: what exactly is the Content-Type for this format? And the everyday ones are the easiest to get wrong — .jpg is image/jpeg, .js is now text/javascript, and nobody remembers the terrifying vnd.openxmlformats strings for Office files. Everything here is grouped by purpose: search, click, copy.

Free · No sign-up · Runs in your browserLast updated:

Loading tool...

How to use MIME types

  1. 1Search by extension (.docx), by type (video) or by what the format is for
  2. 2Click the coloured type to copy it
  3. 3Use the group buttons to narrow down to images, fonts, archives and so on

FAQ

Should Content-Type include charset?
For text types (text/html, text/plain, text/css) add charset=utf-8, otherwise a browser may guess the local encoding and mangle non-ASCII text. JSON does not need it — RFC 8259 requires UTF-8 and the parameter is ignored.
Why does the browser display my PDF instead of downloading it?
That is not decided by the MIME type but by Content-Disposition. Add Content-Disposition: attachment; filename="x.pdf" to force a download; without it the browser decides, and PDFs, images and text usually display inline.
What if I do not know the right type?
Use application/octet-stream — the browser treats it as unknown binary and downloads it without trying to interpret it. Never do that for web assets though: CSS, JS and wasm are refused outright under a wrong type.
Why is .ts a video type?
In the MIME registry .ts is an MPEG transport stream (video/mp2t) and has nothing to do with TypeScript. Serve TypeScript sources as text/plain.