📇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
- 1Search by extension (.docx), by type (video) or by what the format is for
- 2Click the coloured type to copy it
- 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.