Skip to content

MIME Types List

Look up the Content-Type for a file extension, or the reverse.

About MIME types

A MIME type, or media type, names the format of a file or message body, such as text/html, application/json or image/png. Servers send it in the Content-Type header so browsers know how to handle a response, and clients send it with request bodies so APIs know how to parse them. It has a type and a subtype, optionally with a suffix (+json, +xml) and parameters such as charset=utf-8.

The official list is the IANA Media Types registry. Names starting with x- and a few common names such as application/rss+xml were never registered but are widely used; they're marked as such below. When a server doesn't know a file's type it should send application/octet-stream, which makes browsers download the file rather than display it. Send X-Content-Type-Options: nosniff so browsers trust the type you declare instead of guessing.

124 entries

Text and web

ExtensionMIME typeFormat
.html, .htmtext/htmlHTML document
.csstext/cssCSS stylesheet
.js, .mjstext/javascriptJavaScript (RFC 9239; application/javascript is obsolete)
.txttext/plainPlain text
.logtext/plainLog file (served as plain text)
.csvtext/csvComma-separated values (RFC 4180)
.tsvtext/tab-separated-valuesTab-separated values
.md, .markdowntext/markdownMarkdown (RFC 7763)
.icstext/calendariCalendar event or calendar
.vcf, .vcardtext/vcardvCard contact
.vtttext/vttWebVTT subtitles
.srtapplication/x-subripSubRip subtitles (unregistered, widely used)
.rtfapplication/rtfRich Text Format (text/rtf is also registered)
.xmlapplication/xmlXML document (text/xml is also accepted)
.xhtmlapplication/xhtml+xmlXHTML document
.xsl, .xsltapplication/xslt+xmlXSLT stylesheet
.dtdapplication/xml-dtdXML document type definition
.shapplication/x-shShell script (unregistered, widely used)
.pytext/x-pythonPython source (unregistered convention)

Application and data

ExtensionMIME typeFormat
.jsonapplication/jsonJSON data (RFC 8259)
.jsonldapplication/ld+jsonJSON-LD linked data, used for structured data
.geojsonapplication/geo+jsonGeoJSON geographic data (RFC 7946)
.webmanifestapplication/manifest+jsonWeb app manifest
.mapapplication/jsonJavaScript or CSS source map
.yaml, .ymlapplication/yamlYAML (RFC 9512)
.sqlapplication/sqlSQL script (RFC 6922)
.wasmapplication/wasmWebAssembly module
.binapplication/octet-streamArbitrary binary data; the default for unknown files
.exe, .dllapplication/vnd.microsoft.portable-executableWindows executable or library
.msiapplication/x-msiWindows Installer package (unregistered, widely used)
.dmgapplication/x-apple-diskimagemacOS disk image (unregistered, widely used)
.apkapplication/vnd.android.package-archiveAndroid app package
.jarapplication/java-archiveJava archive
.sqlite, .dbapplication/vnd.sqlite3SQLite database
.rssapplication/rss+xmlRSS feed (widely used, not registered)
.atomapplication/atom+xmlAtom feed (RFC 4287)
.rdfapplication/rdf+xmlRDF/XML
.gpxapplication/gpx+xmlGPS exchange format track
.kmlapplication/vnd.google-earth.kml+xmlGoogle Earth KML
.kmzapplication/vnd.google-earth.kmzZipped KML
.ogxapplication/oggOgg container (generic)
.ps, .eps, .aiapplication/postscriptPostScript
.cer, .crt, .derapplication/pkix-certX.509 certificate (DER, RFC 2585)
.p12, .pfxapplication/pkcs12PKCS #12 key and certificate bundle
.m3u8application/vnd.apple.mpegurlHLS streaming playlist
.mpdapplication/dash+xmlMPEG-DASH manifest

Documents

ExtensionMIME typeFormat
.pdfapplication/pdfPDF document
.docapplication/mswordWord 97-2003 document
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentWord document
.dotxapplication/vnd.openxmlformats-officedocument.wordprocessingml.templateWord template
.xlsapplication/vnd.ms-excelExcel 97-2003 workbook
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel workbook
.xlsmapplication/vnd.ms-excel.sheet.macroEnabled.12Excel macro-enabled workbook
.pptapplication/vnd.ms-powerpointPowerPoint 97-2003 presentation
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentationPowerPoint presentation
.odtapplication/vnd.oasis.opendocument.textOpenDocument text
.odsapplication/vnd.oasis.opendocument.spreadsheetOpenDocument spreadsheet
.odpapplication/vnd.oasis.opendocument.presentationOpenDocument presentation
.odgapplication/vnd.oasis.opendocument.graphicsOpenDocument drawing
.epubapplication/epub+zipEPUB e-book
.mobiapplication/x-mobipocket-ebookMobipocket e-book (unregistered)
.vsdxapplication/vnd.ms-visio.drawing.main+xmlVisio drawing
.pagesapplication/vnd.apple.pagesApple Pages document
.numbersapplication/vnd.apple.numbersApple Numbers spreadsheet
.keyapplication/vnd.apple.keynoteApple Keynote presentation

Archives and compression

ExtensionMIME typeFormat
.zipapplication/zipZIP archive
.gzapplication/gzipGzip-compressed file (RFC 6713)
.tarapplication/x-tarTar archive (unregistered, widely used)
.tgz, .tar.gzapplication/gzipGzip-compressed tar archive
.bz2application/x-bzip2Bzip2-compressed file (unregistered)
.xzapplication/x-xzXZ-compressed file (unregistered)
.zstapplication/zstdZstandard-compressed file (RFC 8878)
.brapplication/x-brotliBrotli-compressed file (unregistered; on the web Brotli is a Content-Encoding)
.7zapplication/x-7z-compressed7-Zip archive (unregistered)
.rarapplication/vnd.rarRAR archive
.isoapplication/x-iso9660-imageISO disc image (unregistered)

Images

ExtensionMIME typeFormat
.svgimage/svg+xmlSVG vector graphic
.pngimage/pngPNG image
.jpg, .jpegimage/jpegJPEG image
.gifimage/gifGIF image
.webpimage/webpWebP image (RFC 9649)
.avifimage/avifAVIF image
.icoimage/vnd.microsoft.iconIcon file; browsers also accept image/x-icon
.bmpimage/bmpBitmap image
.tif, .tiffimage/tiffTIFF image
.heicimage/heicHEIC image (iPhone photos)
.heifimage/heifHEIF image
.psdimage/vnd.adobe.photoshopPhotoshop document

Audio

ExtensionMIME typeFormat
.mp3audio/mpegMP3 audio
.m4aaudio/mp4AAC or ALAC audio in an MP4 container
.aacaudio/aacRaw AAC audio (ADTS)
.wavaudio/wavWAV audio (common unregistered name; IANA lists audio/vnd.wave)
.ogg, .ogaaudio/oggOgg audio (Vorbis or Opus)
.opusaudio/opusOpus audio
.flacaudio/flacFLAC lossless audio (also seen as audio/x-flac)
.webaaudio/webmWebM audio
.mid, .midiaudio/midiMIDI (unregistered; also audio/x-midi)
.aif, .aiffaudio/aiffAIFF audio (unregistered; also audio/x-aiff)

Video

ExtensionMIME typeFormat
.mp4video/mp4MP4 video
.webmvideo/webmWebM video
.ogvvideo/oggOgg video
.movvideo/quicktimeQuickTime video
.mkvvideo/matroskaMatroska video (RFC 9559; video/x-matroska is common)
.avivideo/x-msvideoAVI video (unregistered, widely used)
.mpeg, .mpgvideo/mpegMPEG-1 or MPEG-2 video
.tsvideo/mp2tMPEG transport stream (not TypeScript)
.3gpvideo/3gpp3GPP mobile video
.flvvideo/x-flvFlash video (unregistered, legacy)
.wmvvideo/x-ms-wmvWindows Media video (unregistered)

Fonts

ExtensionMIME typeFormat
.woff2font/woff2Web Open Font Format 2 (RFC 8081)
.wofffont/woffWeb Open Font Format
.ttffont/ttfTrueType font
.otffont/otfOpenType font
.ttcfont/collectionFont collection
.eotapplication/vnd.ms-fontobjectEmbedded OpenType (legacy Internet Explorer)

Request and response bodies

ExtensionMIME typeFormat
(form body)application/x-www-form-urlencodedDefault HTML form encoding: key=value&key2=value2
(form body)multipart/form-dataForm with file uploads; parts separated by a boundary (RFC 7578)
(stream)text/event-streamServer-sent events
(error body)application/problem+jsonProblem details for HTTP APIs (RFC 9457)
(token)application/jwtJSON Web Token (RFC 7519)
(stream)application/x-ndjsonNewline-delimited JSON (unregistered, widely used)
(patch)application/json-patch+jsonJSON Patch operations (RFC 6902)
(patch)application/merge-patch+jsonJSON Merge Patch (RFC 7396)
(GraphQL)application/graphql-response+jsonGraphQL over HTTP response

Good to know

Text types and charset

For text formats add the character encoding: Content-Type: text/html; charset=utf-8. JSON is always UTF-8 (RFC 8259), so application/json needs no charset parameter.

JavaScript

RFC 9239 (2022) made text/javascript the one standard type for JavaScript and marked application/javascript and others obsolete. Browsers accept either for scripts, but module scripts are rejected if served with a non-JavaScript type.

More references