A quick reference for the Content-Type values behind every common file format:
search by extension or MIME type, filter by kind, and copy the exact string for your server
config, upload validator, or API response. The dataset is generated from the same
mime-db registry Node and Express use, trimmed to the types you actually meet
in practice.
Everything runs in your browser; nothing is uploaded. Debugging a response? The
HTTP status code reference and
HTTP header analyzer cover the rest of the
response, and the Base64 encoder helps when you need a
data: URI with the right media type prefix.
Frequently asked questions
What is a MIME type?
A MIME type (also called a media type or content type) is a two-part identifier like image/png or application/json that tells software what kind of data a file or HTTP response contains. Browsers use it — via the Content-Type header — to decide whether to render, play, download, or execute what the server sent, regardless of the file extension.
How do I find the MIME type for a file extension?
Type the extension into the search box above, with or without the leading dot. The table shows the registered MIME type, what the format is, and a copy button. You can also paste a MIME type like application/pdf to find which extensions map to it.
What MIME type should I use for unknown or binary files?
application/octet-stream is the generic type for arbitrary binary data. Browsers will download rather than render it. Only fall back to it when nothing more specific exists — serving a real type (say video/mp4) enables streaming, previews, and correct handling.
Why does my server send the wrong Content-Type?
Most web servers map extensions to MIME types with a lookup table, and unusual extensions fall through to a default. Fix it by adding the mapping to your server config (types block in nginx, AddType in Apache, or explicit headers on your CDN). Getting it wrong breaks things silently: JavaScript modules require text/javascript, WOFF2 fonts want font/woff2, and WebAssembly requires application/wasm for streaming compilation.
What is the difference between text/plain and application/octet-stream?
text/plain tells the browser the bytes are human-readable text and it may display them inline; application/octet-stream says "opaque binary — do not interpret", which triggers a download. Serving user uploads back as octet-stream (or with X-Content-Type-Options: nosniff) is also a common defense against content-sniffing attacks.