A full list of common media types by group: text, image, audio, video, archive
Runs in your browser. Nothing you type is sent anywhere. Updated on 24 Oct 2026.Browse the whole table instead of searching it: images, audio, video, documents, archives, fonts, certificates and the source files people serve by accident. Each row carries its magic bytes where the format has them, whether it is text or binary, and where the type is registered, so you can see at a glance which types are real registrations and which are conventions everybody follows anyway.
Open the page with the search box empty and every type listed.
Scroll the Types list: each row shows the extension, the media type and whether it is text or binary.
Select a row for its magic bytes, the other names it is seen as and who registered it.
Type a family such as image/* to narrow the list to one group.
This MIME types lookup works in both directions. Give it an extension, a whole file name or a media type, and it returns the canonical type to send, the extensions that belong to it, the other spellings you will meet, the magic bytes at the start of the file, and whether the content is text or binary.
The part most lists skip is the charset. A type either defines a charset parameter, in which case leaving it out makes browsers guess and mangle anything outside ASCII, or it does not. text/html, text/css, text/csv and image/svg+xml want "; charset=utf-8". application/json does not: RFC 8259 fixes JSON as UTF-8 and registers no charset parameter at all. Binary types never take one. Each row says which case it is and why.
Extensions are not unique, and the tool does not pretend otherwise. A .ts file is TypeScript to your editor and an MPEG transport stream to a video player. DOCX, XLSX, PPTX, EPUB, ODT and APK all begin with the same four zip bytes, so a signature check alone cannot separate them.
The rest of the article, and all 6 questions about MIME Types, are on the MIME Types page.
application/json. Do not add a charset parameter: RFC 8259 section 11 defines JSON text as UTF-8 and registers no charset parameter for the type. Some servers still send text/json or application/x-json; both work in practice but neither is the registered spelling.
Add it to types that define the parameter and are read as characters: text/html, text/css, text/plain, text/csv, text/javascript and image/svg+xml. Leave it off types whose registration already fixes UTF-8, such as application/json, and off every binary type, where it means nothing.
Nothing, in practice. MIME type is the older name, from the email standard the idea came from. The registry IANA keeps is called the Media Types registry, and the HTTP specification says media type. The same string, text/html, is meant by both.
application/octet-stream. It is the honest answer for bytes you cannot identify, and browsers download it rather than trying to display it. Do not use it for files you can identify, because it stops images rendering, scripts running and fonts loading.
Still stuck? Ask about MIME Types and anybody who knows can answer. No account needed.
On the related tools: GraphQL Validator – Check a GraphQL query or schema for errors, optionally against your own SDL · Markdown to HTML – Convert Markdown into clean, safe HTML you can paste anywhere.
In the collection Debug and Inspect.