MIME Type Lookup
Find the MIME type for a file extension or the extensions for a MIME type, with the Content-Type header ready to copy.
Search by either side.
70 matches
| MIME type | Extensions | Kind |
|---|---|---|
| text/plain | .txt .log .ini .text | Text |
| text/html! | .html .htm | Text |
| text/css | .css | Text |
| text/csv | .csv | Text |
| text/markdown | .md .markdown | Text |
| text/calendar | .ics | Text |
| text/vcard | .vcf | Text |
| application/json | .json | Data |
| application/ld+json | .jsonld | Data |
| application/xml | .xml | Data |
| application/yaml | .yaml .yml | Data |
| application/toml | .toml | Data |
| application/sql | .sql | Data |
| application/x-ndjson | .ndjson .jsonl | Data |
| application/vnd.apache.parquet | .parquet | Data |
| text/javascript! | .js .mjs .cjs | Text |
| application/wasm! | .wasm | Other |
| text/x-python | .py | Text |
| text/x-java-source | .java | Text |
| application/x-sh | .sh .bash | Text |
| image/png | .png | Image |
| image/jpeg | .jpg .jpeg .jpe | Image |
| image/gif | .gif | Image |
| image/webp | .webp | Image |
| image/avif | .avif | Image |
| image/svg+xml! | .svg | Image |
| image/heic | .heic | Image |
| image/heif | .heif | Image |
| image/bmp | .bmp | Image |
| image/tiff | .tif .tiff | Image |
| image/vnd.microsoft.icon | .ico | Image |
| audio/mpeg | .mp3 | Audio |
| audio/wav | .wav | Audio |
| audio/ogg | .ogg .oga | Audio |
| audio/flac | .flac | Audio |
| audio/aac | .aac | Audio |
| audio/mp4 | .m4a | Audio |
| audio/webm | .weba | Audio |
| video/mp4 | .mp4 .m4v | Video |
| video/webm | .webm | Video |
| video/quicktime | .mov | Video |
| video/x-msvideo | .avi | Video |
| video/x-matroska | .mkv | Video |
| video/mp2t | .ts | Video |
| font/woff2 | .woff2 | Font |
| font/woff | .woff | Font |
| font/ttf | .ttf | Font |
| font/otf | .otf | Font |
| application/pdf | Document | |
| application/rtf | .rtf | Document |
| application/msword | .doc | Document |
| application/vnd.openxmlformats-officedocument.wordprocessingml.document | .docx | Document |
| application/vnd.ms-excel | .xls | Document |
| application/vnd.openxmlformats-officedocument.spreadsheetml.sheet | .xlsx | Document |
| application/vnd.ms-powerpoint | .ppt | Document |
| application/vnd.openxmlformats-officedocument.presentationml.presentation | .pptx | Document |
| application/vnd.oasis.opendocument.text | .odt | Document |
| application/vnd.oasis.opendocument.spreadsheet | .ods | Document |
| application/epub+zip | .epub | Document |
| application/vnd.hancom.hwp | .hwp | Document |
| application/hwp+zip | .hwpx | Document |
| application/zip | .zip | Archive |
| application/gzip | .gz | Archive |
| application/x-tar | .tar | Archive |
| application/x-7z-compressed | .7z | Archive |
| application/vnd.rar | .rar | Archive |
| application/zstd | .zst | Archive |
| application/octet-stream | .bin .dat | Other |
| application/x-www-form-urlencoded | — | Other |
| multipart/form-data | — | Other |
Files are processed in your browser and are never uploaded to a server.
How to use
Free to use with no sign-up, no install and no usage limit.
Type an extension or a MIME type and the match appears with the other side filled in. There is no mode to pick — anything containing a slash is read as a type and anything else as an extension.
Getting Content-Type wrong has visible consequences. Send a PDF as application/octet-stream and the browser downloads it instead of showing it; send a stylesheet as text/plain and the browser refuses to apply it.
The table flags the types a browser will execute: HTML, JavaScript and SVG. If you serve uploaded files back under their own type, those three turn an upload into a script running on your own domain. Serving them as application/octet-stream, or from a separate domain, is what stops that.
An extension appears under exactly one type here. A table where jpg maps to two types gives a different answer depending on which row is read first, so there are none.
The list covers what actually turns up in web work rather than the full IANA registry, which runs to thousands of entries most of which never appear.
Nothing you type is sent to a server. The table is searched inside your browser.