Skip to content

MIME Type Lookup

Find the MIME type for any file extension, and vice versa.

41 of 41 types

Media typeExtensionsName
text/plain .txt .logPlain text Text
text/html .html .htmHTML Text
text/css .cssCSS Text
text/csv .csvCSV Text
text/markdown .md .markdownMarkdown Text
text/calendar .icsiCalendar Text
text/xml Prefer application/xml unless the content is meant to be human-readable..xmlXML (as text) Text
application/json There is no "text/json" — application/json is the only registered type..jsonJSON Application
application/ld+json What structured data on a web page uses..jsonldJSON-LD Application
application/javascript text/javascript is also valid and is what the HTML spec now prefers..js .mjsJavaScript Application
application/xml .xmlXML Application
application/pdf .pdfPDF Application
application/zip .zipZIP archive Archive
application/gzip .gzGzip Archive
application/x-tar .tarTar archive Archive
application/wasm .wasmWebAssembly Application
application/octet-stream The fallback when nothing more specific is known. Triggers a download in browsers..binArbitrary binary Application
application/x-www-form-urlencoded The default for an HTML form without enctype.Form data (URL-encoded) Application
multipart/form-data Required for file uploads.Form data (multipart) Application
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet .xlsxExcel workbook Application
application/vnd.openxmlformats-officedocument.wordprocessingml.document .docxWord document Application
application/vnd.api+json JSON:API Application
image/png .pngPNG Image
image/jpeg The type is image/jpeg even for a .jpg file — there is no image/jpg..jpg .jpegJPEG Image
image/gif .gifGIF Image
image/webp .webpWebP Image
image/avif .avifAVIF Image
image/svg+xml SVG can contain scripts — never serve user-uploaded SVG from your main origin..svgSVG Image
image/x-icon .icoIcon Image
audio/mpeg .mp3MP3 Audio
audio/ogg .ogg .ogaOgg audio Audio
audio/wav .wavWAV Audio
audio/webm .webaWebM audio Audio
video/mp4 .mp4 .m4vMP4 Video
video/webm .webmWebM Video
video/quicktime .movQuickTime Video
application/vnd.apple.mpegurl .m3u8HLS playlist Video
font/woff2 The only web font format worth serving today..woff2WOFF2 Font
font/woff .woffWOFF Font
font/ttf .ttfTrueType Font
font/otf .otfOpenType Font

About the MIME Type Lookup

Find the correct Content-Type for any file extension, or work out what an unfamiliar media type refers to. Getting this wrong is why a download arrives as a text file, a font is refused, or a browser renders your JSON as a page.

How to use it

  1. 1 Type a file extension such as .webp, or a media type such as image/.
  2. 2 Matching entries appear immediately.
  3. 3 Copy the exact string for your Content-Type header.
  4. 4 Read the notes on the types that are commonly written incorrectly.

What it does

  • Common types across text, image, audio, video, fonts, archives and applications
  • Search by extension or by media type
  • Notes on the types people routinely get wrong
  • Covers form encodings and the Office XML types

Frequently asked questions

Is it image/jpg or image/jpeg?

image/jpeg, always — even for a file named .jpg. There is no registered image/jpg type, and some strict parsers reject it.

Should JSON be application/json or text/json?

application/json. It is the only registered type, and text/json has never been valid. Browsers and most frameworks will still work with the wrong one, which is exactly why the mistake persists.

When should I use application/octet-stream?

When the content is genuinely unknown binary, or when you want to force a download rather than have the browser try to display the file. Using it for a known type stops browsers doing anything sensible with the content.

Why does my SVG upload get rejected?

Because SVG is XML that can contain scripts, so an SVG uploaded by a user is an XSS vector if served from your own origin. Serve user-supplied SVG from a separate domain, sanitise it, or convert it to a raster format.

What is the difference between the two form encodings?

application/x-www-form-urlencoded is the default for an HTML form and encodes fields like a query string — compact but unable to carry binary. multipart/form-data splits the body into parts and is required for file uploads.