MIME Type Lookup
Practical reference of file extensions and the MIME / media types HTTP servers and the browser-side `Content-Type` header use to identify them. Filter by category — application, audio, font, image, text, video, multipart — or search across extension, MIME string and description at once.
| Extension | MIME type | Description | |
|---|---|---|---|
| .json | application/json | JSON data interchange format (RFC 8259). | |
| .xml | application/xml | XML data — use text/xml for human-readable, application/xml for machine-only. | |
| application/pdf | Portable Document Format. | ||
| .zip | application/zip | PKZIP archive. | |
| .gz | application/gzip | Gzip-compressed file. | |
| .tar | application/x-tar | Tape archive (Unix). | |
| .7z | application/x-7z-compressed | 7-Zip archive. | |
| .rar | application/vnd.rar | RAR archive. | |
| .js | application/javascript | JavaScript source — text/javascript is preferred in HTTP per the WHATWG. | |
| .wasm | application/wasm | WebAssembly binary module. | |
| .bin | application/octet-stream | Arbitrary binary data — the default for unknown types. | |
| .doc | application/msword | Microsoft Word 97-2003. | |
| .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.document | Microsoft Word (Office Open XML). | |
| .xls | application/vnd.ms-excel | Microsoft Excel 97-2003. | |
| .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | Microsoft Excel (Office Open XML). | |
| .ppt | application/vnd.ms-powerpoint | Microsoft PowerPoint 97-2003. | |
| .pptx | application/vnd.openxmlformats-officedocument.presentationml.presentation | Microsoft PowerPoint (Office Open XML). | |
| .odt | application/vnd.oasis.opendocument.text | OpenDocument Text (LibreOffice / OpenOffice). | |
| .mp3 | audio/mpeg | MPEG-1 Audio Layer 3. | |
| .wav | audio/wav | Waveform Audio File Format. | |
| .ogg | audio/ogg | Ogg container with Vorbis/Opus. | |
| .flac | audio/flac | Free Lossless Audio Codec. | |
| .aac | audio/aac | Advanced Audio Coding. | |
| .m4a | audio/mp4 | AAC inside an MP4 container. | |
| .webm | audio/webm | WebM audio (Vorbis/Opus). | |
| .ttf | font/ttf | TrueType font. | |
| .otf | font/otf | OpenType font. | |
| .woff | font/woff | Web Open Font Format. | |
| .woff2 | font/woff2 | Web Open Font Format 2 — better compression than woff. | |
| .jpg | image/jpeg | JPEG image — use this for `.jpg` and `.jpeg`. | |
| .png | image/png | Portable Network Graphics. | |
| .gif | image/gif | Graphics Interchange Format — supports animation. | |
| .webp | image/webp | WebP — smaller than JPEG/PNG, supports transparency and animation. | |
| .avif | image/avif | AV1 Image File Format — even smaller than WebP. | |
| .svg | image/svg+xml | Scalable Vector Graphics — XML-based vector format. | |
| .ico | image/vnd.microsoft.icon | Windows icon — also commonly served as image/x-icon. | |
| .bmp | image/bmp | Windows Bitmap. | |
| .tiff | image/tiff | Tagged Image File Format. | |
| .heic | image/heic | High Efficiency Image Format (iOS default). | |
| .txt | text/plain | Plain text — the default for unknown text. | |
| .html | text/html | HyperText Markup Language. | |
| .css | text/css | Cascading Style Sheets. | |
| .csv | text/csv | Comma-Separated Values. | |
| .tsv | text/tab-separated-values | Tab-Separated Values. | |
| .md | text/markdown | Markdown source. | |
| .yaml | application/yaml | YAML document — older text/x-yaml is still seen in the wild. | |
| .ics | text/calendar | iCalendar event/calendar data (RFC 5545). | |
| .vcf | text/vcard | vCard contact data. | |
| .mp4 | video/mp4 | MPEG-4 video (H.264/H.265 + AAC). | |
| .webm | video/webm | WebM video (VP8/VP9 + Vorbis/Opus). | |
| .mov | video/quicktime | QuickTime Movie. | |
| .avi | video/x-msvideo | Audio Video Interleave. | |
| .mkv | video/x-matroska | Matroska Multimedia Container. | |
| .mpeg | video/mpeg | MPEG-1/2 video. | |
| — | multipart/form-data | HTML form upload with files — used by <form enctype="…">. | |
| — | multipart/byteranges | Multiple ranges from a single resource — Range request responses. | |
| — | multipart/mixed | Several body parts of different content types. |
How to use
- Type a file extension (`.zip`), MIME type (`application/json`), or keyword (`compressed`) into the search box.
- Pick a category chip to narrow down — e.g. just image types when you're configuring uploads.
- Click the copy button next to any row to copy the MIME string.
Frequently asked questions
- Is `text/javascript` or `application/javascript` correct for JS files?
- Both work, but the WHATWG HTML spec officially recommends `text/javascript` when serving JavaScript over HTTP. `application/javascript` is widely supported and you'll see it in older configurations.
- What's the difference between `image/jpeg` and `image/jpg`?
- Only `image/jpeg` is the registered IANA type. `image/jpg` is a common misspelling — most browsers tolerate it but tools and HTTP caches may not.
- When should I use `application/octet-stream`?
- Use it for arbitrary binary data when no more specific type fits, or to force the browser to download the file instead of displaying it. Pair with a `Content-Disposition: attachment` header.
Related tools
File Type Detector (Magic Bytes)
Drop a file to identify its true format from its magic bytes — and catch files whose extension or declared MIME type lies.
Port Number Reference
Searchable cheat sheet for ~60 standard TCP / UDP port numbers — from 22 (SSH) and 80 (HTTP) to 6379 (Redis) and 27017 (MongoDB).
EML File Viewer
Drop an `.eml` file and read the parsed message — key headers, plain-text and HTML body parts, and a list of attachments — all in the browser.
ASCII Code Table
Browse and search the 256-row ASCII / extended-ASCII table — decimal, hex, octal, binary, and the named control characters.
Quoted-Printable Encoder & Decoder
Encode text to MIME Quoted-Printable (RFC 2045) or decode it back — handling =XX escapes, soft line breaks, and UTF-8 — entirely in your browser, with 76-character line wrapping on encode.
JSON → TypeScript Interface
Generate TypeScript interfaces from any JSON sample — types are inferred recursively and named after each key.