MIME type lookup

Type an extension such as png or a MIME type such as application/json and see the match. Filter by kind of file and copy the exact Content-Type value.

  • Free
  • No sign-up
  • Runs in your browser
mime-type-lookup

ExtensionMIME typeDescription
.txttext/plainPlain text
.htmltext/htmlHTML page
.htmtext/htmlHTML page
.csstext/cssCSS stylesheet
.csvtext/csvComma-separated values
.tsvtext/tab-separated-valuesTab-separated values
.mdtext/markdownMarkdown document
.icstext/calendariCalendar event
.vcftext/vcardvCard contact
.jstext/javascriptJavaScript code
.mjstext/javascriptJavaScript module
.jsonapplication/jsonJSON data
.jsonldapplication/ld+jsonJSON-LD data
.xmlapplication/xmlXML document
.yamlapplication/yamlYAML data
.ymlapplication/yamlYAML data
.wasmapplication/wasmWebAssembly module
.shapplication/x-shShell script
.phpapplication/x-httpd-phpPHP script
.mapapplication/jsonSource map
.webmanifestapplication/manifest+jsonWeb app manifest
.pdfapplication/pdfPDF document
.docapplication/mswordWord document (old)
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.documentWord document
.xlsapplication/vnd.ms-excelExcel workbook (old)
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheetExcel workbook
.pptapplication/vnd.ms-powerpointPowerPoint (old)
.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
.rtfapplication/rtfRich Text Format
.epubapplication/epub+zipEPUB e-book
.jpgimage/jpegJPEG image
.jpegimage/jpegJPEG image
.pngimage/pngPNG image
.gifimage/gifGIF image
.webpimage/webpWebP image
.avifimage/avifAVIF image
.svgimage/svg+xmlSVG vector image
.icoimage/vnd.microsoft.iconIcon
.bmpimage/bmpBitmap image
.tifimage/tiffTIFF image
.tiffimage/tiffTIFF image
.heicimage/heicHEIC image (iPhone)
.mp3audio/mpegMP3 audio
.wavaudio/wavWAV audio
.oggaudio/oggOgg audio
.ogaaudio/oggOgg audio
.m4aaudio/mp4MPEG-4 audio
.aacaudio/aacAAC audio
.flacaudio/flacFLAC audio
.opusaudio/opusOpus audio
.midaudio/midiMIDI music
.mp4video/mp4MP4 video
.webmvideo/webmWebM video
.ogvvideo/oggOgg video
.movvideo/quicktimeQuickTime video
.avivideo/x-msvideoAVI video
.mkvvideo/x-matroskaMatroska video
.mpegvideo/mpegMPEG video
.3gpvideo/3gpp3GPP video
.zipapplication/zipZIP archive
.gzapplication/gzipGzip archive
.tarapplication/x-tarTAR archive
.rarapplication/vnd.rarRAR archive
.7zapplication/x-7z-compressed7-Zip archive
.bz2application/x-bzip2Bzip2 archive
.wofffont/woffWOFF font
.woff2font/woff2WOFF2 font
.ttffont/ttfTrueType font
.otffont/otfOpenType font
.eotapplication/vnd.ms-fontobjectEmbedded OpenType font
.binapplication/octet-streamBinary data of unknown type
.exeapplication/vnd.microsoft.portable-executableWindows executable
.apkapplication/vnd.android.package-archiveAndroid app package
.dmgapplication/x-apple-diskimagemacOS disk image
.isoapplication/x-iso9660-imageDisc image
.swfapplication/x-shockwave-flashFlash (obsolete)

Everything on this page works in your browser.

How it works

Type an extension or a type

png, pdf, application/json or a word from the description.

Filter by kind

Text, code, documents, images, audio, video, archives or fonts.

Copy the value

Use it in a Content-Type header, an upload check or a server rule.

What a MIME type is and why it matters

A MIME type, also called a media type or content type, is a short label such as image/png or application/pdf that says what kind of data a file holds. Browsers, servers, email programs and APIs use it to decide what to do with the data: show an image, download a document, run a script or reject a file. Getting it right avoids strange problems such as a stylesheet that is ignored, a font that will not load or a PDF that downloads instead of opening.

Where you need them

  • Server configuration. A web server sends a Content-Type header with every file. If the type is missing or wrong, the browser may refuse to use it, for example a script served as plain text.
  • File uploads. Forms and APIs often accept only certain types, such as image/jpeg and image/png. The accept attribute of a file input takes MIME types as well as extensions.
  • APIs. Requests and responses declare their format with headers like Content-Type and Accept.
  • Email attachments and downloads. Each part of a message carries its type.

Extension and type are not the same

A file's extension is just part of its name, and anyone can change it. The MIME type is what the server declares for the file, and what a browser actually trusts. That is why a file renamed from .exe to .jpg does not become an image. For security, servers can add the header X-Content-Type-Options: nosniff, which tells the browser to obey the declared type and not guess.

A few useful notes

For text types it is good practice to add a character set, as in text/html; charset=utf-8. JavaScript is now officially text/javascript, although the older application/javascript is still common. When a server does not know the type of a file, it falls back to application/octet-stream, which browsers treat as a download. Some files have several extensions for the same type, such as .jpg and .jpeg.

What this list covers

It lists the types web developers and site owners meet most often, around ninety. It is not the full registry kept by IANA, which has thousands of entries, and some types, such as those for the Office formats, are long by nature. Check the official registry for a rare format.

Frequently asked questions

What is the MIME type of a PDF?
application/pdf.
What is the MIME type of a JSON file?
application/json. For JSON-LD it is application/ld+json.
What is the difference between a MIME type and a file extension?
The extension is part of the file name and can be changed by anyone. The MIME type is the label the server declares and the browser trusts.
What does application/octet-stream mean?
It means binary data of unknown type. Browsers usually download it instead of showing it.
Why is my CSS or script not loading?
The server may be sending the wrong Content-Type, or nosniff may be blocking a file with the wrong type. Check the header in the browser's network panel.
Should I add a charset?
For text types, yes: text/html; charset=utf-8 makes sure accents and symbols display correctly.