← Home

MIME Types Reference

Complete MIME type reference with file extensions and descriptions. Essential for HTTP headers, file uploads, API development, and server configuration.

Text

MIME TypeExtension(s)Description
text/plain.txtPlain text without any formatting or markup
text/html.html, .htmHTML documents — the standard markup for web pages
text/css.cssCascading Style Sheets for styling HTML documents
text/javascript.js, .mjsJavaScript source code (preferred over application/javascript)
text/csv.csvComma-separated values — tabular data in plain text
text/xml.xmlXML documents (text-readable variant; see also application/xml)
text/markdown.md, .markdownMarkdown formatted text documents
text/calendar.icsiCalendar scheduling and event data
text/tab-separated-values.tsvTab-separated values for tabular data
text/rtf.rtfRich Text Format — formatted text with basic styling

Application

MIME TypeExtension(s)Description
application/json.jsonJSON data — the most common format for APIs and configuration
application/xml.xmlXML documents (application variant — preferred for non-human-readable XML)
application/pdf.pdfPortable Document Format — fixed-layout documents
application/zip.zipZIP compressed archive
application/gzip.gzGzip compressed file
application/x-tar.tarTape archive (uncompressed)
application/x-7z-compressed.7z7-Zip compressed archive
application/x-rar-compressed.rarRAR compressed archive
application/octet-stream(any)Arbitrary binary data — used when the exact type is unknown
application/x-www-form-urlencodedHTML form data encoded as key=value pairs (default form encoding)
application/javascript.jsJavaScript (legacy MIME; text/javascript is now preferred)
application/typescript.tsTypeScript source code
application/ld+json.jsonldJSON-LD linked data (used for structured data / SEO)
application/graphql.graphqlGraphQL query language documents
application/wasm.wasmWebAssembly binary module
application/vnd.ms-excel.xlsMicrosoft Excel spreadsheet (legacy format)
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.xlsxMicrosoft Excel spreadsheet (modern Open XML format)
application/vnd.ms-powerpoint.pptMicrosoft PowerPoint presentation (legacy)
application/msword.docMicrosoft Word document (legacy)
application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxMicrosoft Word document (modern Open XML format)

Image

MIME TypeExtension(s)Description
image/png.pngPortable Network Graphics — lossless compression with transparency
image/jpeg.jpg, .jpegJPEG image — lossy compression, ideal for photographs
image/gif.gifGraphics Interchange Format — supports animation and transparency
image/webp.webpWebP — modern format with superior lossless and lossy compression
image/svg+xml.svgScalable Vector Graphics — XML-based vector image format
image/avif.avifAV1 Image Format — next-gen format with excellent compression
image/bmp.bmpBitmap image — uncompressed raster format
image/x-icon.icoICO format — used for favicons and Windows icons
image/tiff.tiff, .tifTagged Image File Format — high-quality lossless images
image/heic.heic, .heifHigh Efficiency Image Format — used by Apple devices
image/apng.apngAnimated PNG — animated images with better quality than GIF

Audio

MIME TypeExtension(s)Description
audio/mpeg.mp3MP3 audio — the most widely supported lossy audio format
audio/ogg.ogg, .ogaOgg Vorbis audio — open-source lossy audio format
audio/wav.wavWaveform Audio — uncompressed PCM audio
audio/webm.webaWebM audio — open format based on Opus or Vorbis codec
audio/aac.aacAdvanced Audio Coding — better quality than MP3 at similar bitrates
audio/flac.flacFree Lossless Audio Codec — lossless compression
audio/midi.mid, .midiMIDI audio — musical instrument digital interface data
audio/opus.opusOpus audio — versatile codec for speech and music
audio/mp4.m4aMPEG-4 audio — commonly AAC encoded

Video

MIME TypeExtension(s)Description
video/mp4.mp4, .m4vMPEG-4 video — the most widely supported video format on the web
video/webm.webmWebM video — open format with VP8/VP9/AV1 codecs
video/ogg.ogvOgg Theora video — open-source video format
video/x-msvideo.aviAudio Video Interleave — Microsoft multimedia container
video/quicktime.movQuickTime video — Apple's multimedia container format
video/x-matroska.mkvMatroska video — flexible open container format
video/x-flv.flvFlash Video — legacy streaming format
video/mpeg.mpeg, .mpgMPEG video — original MPEG-1/MPEG-2 format
video/3gpp.3gp3GPP video — mobile multimedia format

Multipart

MIME TypeExtension(s)Description
multipart/form-dataForm data with file uploads — uses boundary delimiters to separate fields
multipart/byterangesHTTP response with multiple byte ranges (used with 206 Partial Content)
multipart/mixedMessage containing multiple body parts of different types (email attachments)
multipart/alternativeSame content in different formats (e.g., plain text + HTML email)
multipart/relatedBody parts that are related to each other (e.g., HTML + inline images)
multipart/signedDigitally signed message with signature as separate part
multipart/encryptedEncrypted message content

Font

MIME TypeExtension(s)Description
font/woff.woffWeb Open Font Format — compressed font with metadata
font/woff2.woff2WOFF 2.0 — improved compression over WOFF (preferred for web)
font/ttf.ttfTrueType Font — widely supported outline font format
font/otf.otfOpenType Font — extends TrueType with advanced typographic features
font/sfnt.sfntSFNT container — generic wrapper for font tables
font/collection.ttc, .otcFont collection — multiple fonts bundled in a single file
application/vnd.ms-fontobject.eotEmbedded OpenType — legacy IE web font format

Frequently Asked Questions

What is a MIME type and why does it matter?

A MIME type (Multipurpose Internet Mail Extensions) is a label that identifies the format of data sent over the internet. Browsers and servers use it to decide how to handle a file — for example, rendering HTML, playing audio, or triggering a download. Setting the correct Content-Type header prevents rendering issues and security vulnerabilities.

What is the difference between text/javascript and application/javascript?

Both refer to JavaScript, but text/javascript is now the official standard (per RFC 9239). application/javascript was used historically and is still widely accepted, but text/javascript is recommended for new projects and is what browsers expect.

When should I use application/octet-stream?

Use application/octet-stream as a fallback when the exact MIME type is unknown or when you want to force a file download. The browser treats it as arbitrary binary data and typically offers a save dialog rather than trying to display it.

Which image format should I use for the web?

Use WebP or AVIF for the best compression-to-quality ratio. Use SVG for icons, logos, and illustrations. JPEG is ideal for photographs when broad compatibility is needed. PNG is best when you need lossless quality with transparency. Use the <picture> element to serve modern formats with fallbacks.

Related Resources