ToolBark
Developer

MIME Types Reference

Instantly look up any file extension's MIME type

Filter by category

Showing 109 of 109 entries

ExtensionMIME TypeCopy
.jpgimage/jpeg
.jpegimage/jpeg
.pngimage/png
.gifimage/gif
.webpimage/webp
.svgimage/svg+xml
.icoimage/x-icon
.bmpimage/bmp
.tiffimage/tiff
.tifimage/tiff
.avifimage/avif
.heicimage/heic
.heifimage/heif
.mp3audio/mpeg
.wavaudio/wav
.oggaudio/ogg
.flacaudio/flac
.aacaudio/aac
.m4aaudio/mp4
.webaaudio/webm
.opusaudio/opus
.midaudio/midi
.midiaudio/midi
.mp4video/mp4
.webmvideo/webm
.oggvideo/ogg
.avivideo/x-msvideo
.movvideo/quicktime
.mkvvideo/x-matroska
.flvvideo/x-flv
.wmvvideo/x-ms-wmv
.m4vvideo/mp4
.3gpvideo/3gpp
.tsvideo/mp2t
.txttext/plain
.htmltext/html
.htmtext/html
.csstext/css
.csvtext/csv
.jstext/javascript
.mjstext/javascript
.xmltext/xml
.mdtext/markdown
.rtftext/rtf
.icstext/calendar
.vcardtext/vcard
.jsonapplication/json
.jsonldapplication/ld+json
.pdfapplication/pdf
.zipapplication/zip
.gzapplication/gzip
.tarapplication/x-tar
.bz2application/x-bzip2
.7zapplication/x-7z-compressed
.rarapplication/vnd.rar
.wasmapplication/wasm
.binapplication/octet-stream
.exeapplication/octet-stream
.dmgapplication/octet-stream
.isoapplication/x-iso9660-image
.docapplication/msword
.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document
.xlsapplication/vnd.ms-excel
.xlsxapplication/vnd.openxmlformats-officedocument.spreadsheetml.sheet
.pptapplication/vnd.ms-powerpoint
.pptxapplication/vnd.openxmlformats-officedocument.presentationml.presentation
.odtapplication/vnd.oasis.opendocument.text
.odsapplication/vnd.oasis.opendocument.spreadsheet
.odpapplication/vnd.oasis.opendocument.presentation
.epubapplication/epub+zip
.ttffont/ttf
.otffont/otf
.wofffont/woff
.woff2font/woff2
.eotapplication/vnd.ms-fontobject
.tsapplication/typescript
.tsxapplication/typescript
.jsxtext/javascript
.shapplication/x-sh
.pytext/x-python
.rbapplication/x-ruby
.phpapplication/x-httpd-php
.javatext/x-java-source
.ctext/x-c
.cpptext/x-c++
.htext/x-c
.gotext/x-go
.rstext/x-rust
.swifttext/x-swift
.yamlapplication/yaml
.ymlapplication/yaml
.tomlapplication/toml
.envtext/plain
.sqlapplication/sql
.graphqlapplication/graphql
.prototext/plain
.glbmodel/gltf-binary
.gltfmodel/gltf+json
.objmodel/obj
.stlmodel/stl
.psdimage/vnd.adobe.photoshop
.aiapplication/postscript
.epsapplication/postscript
.apkapplication/vnd.android.package-archive
.ipaapplication/octet-stream
.swfapplication/x-shockwave-flash
.torrentapplication/x-bittorrent
.mpdapplication/dash+xml
.m3u8application/vnd.apple.mpegurl

Export filtered results

Copy the current filtered list as a JSON map of { "ext": "mime" } pairs.

109 pairs
About

MIME types (Multipurpose Internet Mail Extensions) tell browsers and servers what kind of data a file contains. Whether you are setting Content-Type headers, configuring a web server, or writing file-upload validation logic, finding the right MIME type for a given file extension is a constant developer task. This reference covers 100+ common extensions across images, video, audio, documents, fonts, code, and more.

FAQ
What is a MIME type?+

A MIME type is a two-part identifier (type/subtype) used in HTTP headers, HTML attributes, and email to describe the format of a file or data stream. For example, image/png tells a browser it is receiving a PNG image, and application/json signals a JSON payload.

How do I set a MIME type in an HTTP response?+

Set the Content-Type response header to the appropriate MIME type, e.g. Content-Type: application/json; charset=utf-8. In Express.js you can call res.type('json') or res.set('Content-Type', 'application/json') before sending the response.

What MIME type should I use for TypeScript or JSX files?+

TypeScript files are commonly served as application/typescript, while JSX files use text/javascript since browsers execute the compiled output. Most bundlers handle this automatically; you rarely need to set these headers manually.

Why does my file upload validator reject a file even though the extension looks right?+

MIME type validation on the server should inspect the file's magic bytes (its actual binary header), not just the extension, because extensions can be renamed. Libraries like file-type (Node.js) read the first few bytes to determine the real format, making validation much more reliable.

Related tools