MIME Types Reference and Lookup
Search common media types by MIME string or by file extension. Both directions, all local.
| MIME type | Extension | Description |
|---|---|---|
text/plain | .txt | Plain text with no markup or formatting. |
text/html | .html .htm | HTML markup for web pages. |
text/css | .css | Cascading Style Sheets stylesheet. |
text/csv | .csv | Comma-separated values, one record per line. |
text/javascript | .js .mjs | JavaScript source (current standard type). |
application/json | .json | JSON structured data. |
application/xml | .xml | XML data (text/xml is also seen). |
application/pdf | Portable Document Format file. | |
application/zip | .zip | ZIP compressed archive. |
application/gzip | .gz | Gzip compressed file (also application/x-gzip). |
application/octet-stream | .bin | Arbitrary binary data; the generic download fallback. |
application/x-www-form-urlencoded | n/a | URL-encoded HTML form field submissions. |
multipart/form-data | n/a | HTML form submissions that include file uploads. |
application/wasm | .wasm | WebAssembly binary module. |
application/ld+json | .jsonld | JSON-LD linked data (JSON plus a context). |
image/png | .png | Portable Network Graphics, lossless. |
image/jpeg | .jpg .jpeg | JPEG photographic image, lossy. |
image/gif | .gif | GIF image, supports simple animation. |
image/webp | .webp | WebP image, lossy or lossless. |
image/svg+xml | .svg | Scalable Vector Graphics, XML based. |
image/avif | .avif | AVIF image, AV1 based, high compression. |
image/x-icon | .ico | Icon file for favicons (also image/vnd.microsoft.icon). |
audio/mpeg | .mp3 | MP3 compressed audio. |
audio/ogg | .ogg .oga | Ogg container audio (Vorbis or Opus). |
audio/wav | .wav | Waveform uncompressed audio (also audio/x-wav). |
video/mp4 | .mp4 .m4v | MP4 container video (H.264 or H.265). |
video/webm | .webm | WebM container video (VP8, VP9, or AV1). |
video/ogg | .ogv | Ogg container video (Theora). |
font/woff | .woff | Web Open Font Format 1.0. |
font/woff2 | .woff2 | Web Open Font Format 2.0, better compression. |
font/ttf | .ttf | TrueType font. |
font/otf | .otf | OpenType font. |
No MIME types match that search. Try a shorter term like image or json.
What this tool does
This is a quick reference for the MIME types (media types, or content types) you meet
most often on the web: the type string, a typical file extension, and a one-line
description. The table is searchable in both directions, so you can start from a MIME
string like application/json or from a bare extension like
.json and land on the same row. Everything runs in your browser: open
DevTools then the Network tab to verify that zero requests are made while you search.
How to use it
Type into the search box. The table filters as you go and shows a running count of how
many types match. Search works on the MIME string and the extension together, and a
leading dot is optional. For example, typing png or .png both
surface image/png, and typing json surfaces
application/json alongside application/ld+json. To browse a
whole family, search a top-level type such as image, audio,
or font.
Common use cases
- Setting the correct
Content-Typeresponse header on a server or API. - Picking the right
typeattribute for a<script>,<source>, or<link>tag. - Building the prefix of a
data:URI (for exampledata:image/png;base64,). - Configuring an
Acceptheader or content negotiation in an HTTP client. - Deciding what to store in a database column that records the media type of an upload.
Common pitfalls
- The extension is a hint, not the truth. The web decides how to
handle content from the
Content-Typeheader, not from the file name. A file namedphoto.pngserved astext/plainwill not render as an image. - application/octet-stream forces a download. It is the catch-all for binary data. If your files download instead of opening, a missing or generic Content-Type is usually why.
- Text types often need a charset. Prefer
text/html; charset=utf-8and the same for CSS and plain text to avoid garbled characters. Binary types and JSON do not need one. - JavaScript has legacy aliases. You will still see
application/javascriptandapplication/x-javascript, buttext/javascriptis the current standard value.
Frequently asked questions
- What is a MIME type?
- A MIME type (also called a media type or content type) is a short label like text/html or image/png that tells software what kind of data a file or HTTP response body contains. It has a top-level type (text, image, application, and so on) and a subtype (html, png, json). Browsers and servers use it to decide how to render or handle content, which is why the Content-Type header often matters more than the file extension on the web.
- What is the difference between a MIME type and a content type?
- They are the same thing in practice. MIME type is the older name, from the email MIME standard. Media type is the name IANA now uses for its registry. Content type is what the HTTP header is called (Content-Type). When someone talks about a content type header, they mean the MIME type sent with a request or response.
- How do I find the right MIME type for a file extension?
- Search the table by extension. Type png or .png to surface image/png, or json to surface application/json. The mapping is not one to one: a single extension can have more than one accepted type, and one type can cover several extensions. When in doubt, prefer the type recommended by IANA or MDN for that format.
- Why does application/octet-stream show up so often?
- application/octet-stream is the generic fallback for arbitrary binary data. Servers send it when they do not know or do not want to declare a specific type, and browsers usually respond by downloading the file rather than displaying it. If a file downloads instead of opening in the browser, a missing or generic Content-Type is a common cause.
- What is the correct MIME type for JavaScript?
- The current standard is text/javascript, restored by the WHATWG HTML specification. You will still see application/javascript and older forms like application/x-javascript in the wild, and browsers accept them, but text/javascript is the recommended value today. For JSON data use application/json, and for JSON-LD linked data use application/ld+json.
- Do MIME types need a charset parameter?
- Text formats can carry a charset parameter, for example text/html; charset=utf-8. It tells the client how to decode the raw bytes into characters. For HTML, CSS, and plain text, declaring charset=utf-8 avoids garbled output. Binary types like image/png do not use a charset, and JSON is always UTF-8 by specification, so a charset parameter is unnecessary there.
Cite this tool
For academic, journalistic, or technical references. Pick a format:
Citations use 2026 as the publication year. Access date is left as a fillable placeholder where the citation style expects one.