From file extension to Content-Type header
Serving a file with the wrong Content-Type header is a classic source of quiet breakage. Stylesheets refuse to apply, fonts fail their checks and downloads open as garbled text. Search the extension you are serving and the tool shows the header value to use, like Content-Type: text/css for .css files, with the default charset appended when the registry declares one.
Some extensions are registered to more than one type. .mp3 appears under audio/mpeg and audio/mp3, and .xml under both application/xml and text/xml. The tool suggests the canonical choice first and lists the alternatives, so you can pick deliberately instead of copying the first hit. When a response still misbehaves, the HTTP Status Code Reference reference helps you read the rest of it.
What the families mean
The part before the slash groups types into families. text is human-readable content, and image, audio and video cover media. font holds font formats, model holds 3D formats, message wraps whole messages like email, and multipart describes bodies assembled from several parts, like a browser form upload. Everything else, from PDFs to ZIP archives to JSON, lives under the catch-all application family. A handful of stragglers like chemical sit outside these nine and are grouped under Other.
Registered types, vendor types and compressibility
Most entries come from the IANA media type registry, the official list. The Apache and nginx projects maintain extension mappings that add widely used but unregistered types, and each entry is labeled with its source. Subtypes starting with x- or vnd. are experimental or vendor-specific. They work in practice, but when a registered type exists for the same extension it is usually the better pick.
The compressible flag tells you whether a format benefits from gzip or brotli. Formats like PNG, MP4 and ZIP are already compressed, so recompressing them costs CPU for no gain, while text formats like HTML, CSV and JSON shrink a lot.