PureDevTools

MIME Type Lookup

Bidirectional reference: search by file extension or MIME type string across 110+ content types

All processing happens in your browser. No data is sent to any server.

Category

Showing all 110 MIME types

.txt
Text
text/plain

Plain text file with no formatting.

.html
Text
text/html

HyperText Markup Language — the standard format for web pages.

.htm
Text
text/html

HyperText Markup Language — alternate .htm extension.

.css
Text
text/css

Cascading Style Sheets for styling web pages.

.js
Text
text/javascript

JavaScript source code. IANA-registered MIME type for scripts.

.csv
Text
text/csv

Comma-Separated Values — tabular data in plain text.

.xml
Text
text/xml

Extensible Markup Language in text form.

.md
Text
text/markdown

Markdown-formatted text document.

.ics
Text
text/calendar

iCalendar format for calendar data and events.

.vcf
Text
text/vcard

vCard format for electronic business cards.

.yaml
Text
text/yaml

YAML Ain't Markup Language — human-readable serialization format.

.yml
Text
text/yaml

YAML format — alternate .yml extension.

.rtf
Text
text/rtf

Rich Text Format — document with basic text formatting.

.sse
Text
text/event-stream

Server-Sent Events stream for real-time push notifications.

.vtt
Text
text/vtt

WebVTT — subtitle and caption format for HTML5 video elements.

.tsv
Text
text/tab-separated-values

TSV — Tab-Separated Values, tabular data using tab delimiters instead of commas.

.srt
Text
text/plain

SRT — SubRip subtitle format widely supported by video players.

.log
Text
text/plain

Log file — plain text output from servers, applications, or system processes.

.jpg
Image
image/jpeg

JPEG — lossy compressed raster image. Best for photos.

.jpeg
Image
image/jpeg

JPEG — alternate .jpeg extension for lossy compressed images.

.png
Image
image/png

PNG — lossless compressed raster image with transparency support.

.gif
Image
image/gif

GIF — lossless image with up to 256 colors, supports animation.

.webp
Image
image/webp

WebP — modern image format by Google with superior compression.

.svg
Image
image/svg+xml

SVG — XML-based vector graphics format, scales to any size.

.ico
Image
image/x-icon

ICO — Windows icon file, used for favicons and application icons.

.bmp
Image
image/bmp

BMP — uncompressed raster image format.

.tiff
Image
image/tiff

TIFF — lossless raster format used in print and archiving.

.tif
Image
image/tiff

TIFF — alternate .tif extension for lossless raster images.

.avif
Image
image/avif

AVIF — next-gen image format based on AV1 codec, excellent compression.

.heic
Image
image/heic

HEIC — High Efficiency Image Container used by Apple devices.

.heif
Image
image/heif

HEIF — High Efficiency Image Format, container for HEVC-encoded images.

.apng
Image
image/apng

APNG — Animated PNG with full-color animation and alpha transparency.

.jxl
Image
image/jxl

JPEG XL — next-generation image format with superior lossless and lossy compression.

.psd
Image
image/vnd.adobe.photoshop

PSD — Adobe Photoshop layered document format.

.cur
Image
image/vnd.microsoft.icon

CUR — Windows cursor file, related to the ICO format.

.mp3
Audio
audio/mpeg

MP3 — MPEG-1 Audio Layer III, the most popular lossy audio format.

.ogg
Audio
audio/ogg

OGG — free, open container for Vorbis audio encoding.

.wav
Audio
audio/wav

WAV — uncompressed PCM audio format by Microsoft and IBM.

.aac
Audio
audio/aac

AAC — Advanced Audio Coding, successor to MP3 with better quality.

.flac
Audio
audio/flac

FLAC — Free Lossless Audio Codec, perfect quality with compression.

.weba
Audio
audio/webm

WebM audio — audio-only WebM container, typically Opus or Vorbis encoded.

.opus
Audio
audio/opus

Opus — modern low-latency audio codec, excellent for voice and music.

.midi
Audio
audio/midi

MIDI — Musical Instrument Digital Interface protocol data.

.mid
Audio
audio/midi

MIDI — alternate .mid extension for MIDI instrument data.

.m4a
Audio
audio/mp4

M4A — AAC audio in an MPEG-4 container, used by Apple iTunes.

.oga
Audio
audio/ogg

OGA — alternate extension for OGG audio container.

.aiff
Audio
audio/aiff

AIFF — Audio Interchange File Format, uncompressed audio by Apple.

.amr
Audio
audio/amr

AMR — Adaptive Multi-Rate codec optimized for mobile voice recording.

.mp4
Video
video/mp4

MP4 — MPEG-4 Part 14 container, the most widely supported video format.

.webm
Video
video/webm

WebM — open video format by Google, using VP8/VP9 or AV1 codec.

.ogv
Video
video/ogg

OGV — Ogg container with Theora video encoding.

.mpeg
Video
video/mpeg

MPEG — MPEG-1 or MPEG-2 video stream.

.avi
Video
video/x-msvideo

AVI — Audio Video Interleave, Microsoft container format.

.mov
Video
video/quicktime

MOV — QuickTime movie container by Apple.

.3gp
Video
video/3gpp

3GP — 3GPP multimedia container for mobile phones.

.ts
Video
video/mp2t

TS — MPEG-2 Transport Stream used in broadcast and HLS streaming.

.mkv
Video
video/x-matroska

MKV — Matroska container, supports many codecs and subtitles.

.wmv
Video
video/x-ms-wmv

WMV — Windows Media Video format by Microsoft.

.flv
Video
video/x-flv

FLV — Flash Video container format, largely replaced by MP4.

.m4v
Video
video/x-m4v

M4V — iTunes video format, similar to MP4 with optional DRM.

.3g2
Video
video/3gpp2

3G2 — 3GPP2 multimedia container for CDMA mobile phones.

.json
Application
application/json

JSON — JavaScript Object Notation, the most popular data interchange format.

.xml
Application
application/xml

XML — Extensible Markup Language as a binary/application payload.

.pdf
Application
application/pdf

PDF — Portable Document Format by Adobe.

.zip
Application
application/zip

ZIP — compressed archive format supporting multiple files.

.gz
Application
application/gzip

GZIP — single-file GNU Zip compression.

.tar
Application
application/x-tar

TAR — Unix archive format that bundles files without compression.

.7z
Application
application/x-7z-compressed

7-Zip — high-compression archive format.

.bz2
Application
application/x-bzip2

BZIP2 — block-sorting file compression.

.rar
Application
application/vnd.rar

RAR — proprietary archive format by RARLab.

.bin
Application
application/octet-stream

Binary data — generic MIME type for arbitrary binary files.

.wasm
Application
application/wasm

WebAssembly — binary instruction format for a stack-based virtual machine.

.mjs
Application
application/javascript

ES Module — JavaScript module file (alternate application/* MIME type).

.ts
Application
application/typescript

TypeScript — typed superset of JavaScript source file.

.jsonld
Application
application/ld+json

JSON-LD — JSON-based format for Linked Data and structured metadata.

.graphql
Application
application/graphql

GraphQL — query language schema or operation document.

.sql
Application
application/sql

SQL — Structured Query Language script file.

.xhtml
Application
application/xhtml+xml

XHTML — HTML written in XML syntax.

.atom
Application
application/atom+xml

Atom — XML-based web feed format.

.rss
Application
application/rss+xml

RSS — Really Simple Syndication XML feed format.

no extension
Application
application/x-www-form-urlencoded

URL-encoded form data — default encoding for HTML form submissions.

.msgpack
Application
application/msgpack

MessagePack — efficient binary serialization format.

.cbor
Application
application/cbor

CBOR — Concise Binary Object Representation, RFC 7049.

.xlsx
Application
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

XLSX — Microsoft Excel Open XML spreadsheet format.

.docx
Application
application/vnd.openxmlformats-officedocument.wordprocessingml.document

DOCX — Microsoft Word Open XML document format.

.pptx
Application
application/vnd.openxmlformats-officedocument.presentationml.presentation

PPTX — Microsoft PowerPoint Open XML presentation format.

.xls
Application
application/vnd.ms-excel

XLS — legacy Microsoft Excel binary spreadsheet format.

.doc
Application
application/msword

DOC — legacy Microsoft Word binary document format.

.epub
Application
application/epub+zip

EPUB — open e-book format using ZIP and HTML/CSS.

.xz
Application
application/x-xz

XZ — LZMA2-based compression format, common on Linux systems.

.odt
Application
application/vnd.oasis.opendocument.text

ODT — OpenDocument Text format used by LibreOffice Writer.

.ods
Application
application/vnd.oasis.opendocument.spreadsheet

ODS — OpenDocument Spreadsheet format used by LibreOffice Calc.

.odp
Application
application/vnd.oasis.opendocument.presentation

ODP — OpenDocument Presentation format used by LibreOffice Impress.

.exe
Application
application/x-msdownload

EXE — Windows executable file format.

.dmg
Application
application/x-apple-diskimage

DMG — macOS disk image format for distributing applications.

.apk
Application
application/vnd.android.package-archive

APK — Android application package for installing apps on Android.

.jar
Application
application/java-archive

JAR — Java Archive bundling class files and resources.

.eot
Application
application/vnd.ms-fontobject

EOT — Embedded OpenType font format for older Internet Explorer.

.pb
Application
application/x-protobuf

PB — Protocol Buffers binary serialization by Google.

.geojson
Application
application/geo+json

GeoJSON — JSON-based format for encoding geographic data structures.

.torrent
Application
application/x-bittorrent

TORRENT — BitTorrent metainfo file describing a torrent download.

.woff
Font
font/woff

WOFF — Web Open Font Format 1.0, compressed TrueType/OpenType.

.woff2
Font
font/woff2

WOFF2 — Web Open Font Format 2.0 with Brotli compression, recommended for web.

.ttf
Font
font/ttf

TTF — TrueType Font format by Apple and Microsoft.

.otf
Font
font/otf

OTF — OpenType Font format, superset of TrueType with advanced typography.

.ttc
Font
font/collection

TTC — TrueType Collection, multiple fonts in a single file.

no extension
Multipart
multipart/form-data

Form data — used for HTML form submissions that include file uploads.

no extension
Multipart
multipart/byteranges

Byte ranges — HTTP 206 Partial Content response with multiple ranges.

no extension
Multipart
multipart/mixed

Mixed multipart — multiple body parts of different types in one message.

no extension
Multipart
multipart/alternative

Alternative multipart — same content in different formats (e.g., text + HTML email).

Your Express server returns a .wasm file but the browser rejects it — “Refused to compile or instantiate WebAssembly module because neither ‘Content-Type’ header nor MIME type is ‘application/wasm’.” You need to know that .wasmapplication/wasm, .avifimage/avif, and .mjstext/javascript. A quick lookup is faster than Googling each one.

Why This Reference (Not the HTTP Header Parser)

The HTTP Header Parser analyzes Content-Type and other headers from an HTTP response. This tool is a MIME type lookup reference — search by file extension (.webp) or by MIME type string (application/json) across 110+ common types organized by category. Use this reference to find the right MIME type; use the header parser to analyze response headers.

What Is a MIME Type?

A MIME type (Multipurpose Internet Mail Extensions type), also called a media type or content type, is a standardized label that identifies the format of a file or data stream. Every HTTP response, email attachment, and web API payload carries a Content-Type header with a MIME type that tells the receiver how to interpret the bytes it is receiving.

The format is always type/subtype, optionally followed by parameters:

Content-Type: application/json
Content-Type: text/html; charset=utf-8
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW

How to Use This Tool

Type a file extension (e.g., .jpg, png, mp4) to find its MIME type, or type a MIME type (e.g., application/json, image/) to find associated file extensions.

Each result shows:

MIME Type Structure

PartExampleMeaning
typeimageTop-level category (text, image, audio, video, application, font, multipart)
/Separator
subtypejpegSpecific format
; parameter; charset=utf-8Optional modifier

Registered Top-Level Types

Common MIME Types by Category

Text

The text/* family covers human-readable documents. The most important are:

Always specify charset=utf-8 for text types in HTTP responses:

Content-Type: text/html; charset=utf-8

Image

Audio and Video

For HTML5 <video> and <audio>, include the type attribute so browsers can skip sources they cannot decode:

<video>
  <source src="video.mp4" type="video/mp4">
  <source src="video.webm" type="video/webm">
</video>

Application

The application/* family is the most varied. Key types:

Font

Web fonts must be served with the correct MIME type or browsers may block them (CORS-style blocking for fonts):

@font-face {
  font-family: 'MyFont';
  src: url('myfont.woff2') format('woff2'),
       url('myfont.woff') format('woff');
}

Multipart

Multipart types combine multiple body parts in a single message:

Setting MIME Types in HTTP Servers

Nginx

# nginx.conf — add types or override defaults
types {
    application/wasm   wasm;
    font/woff2         woff2;
    image/avif         avif;
}

Apache

# .htaccess
AddType application/wasm .wasm
AddType font/woff2 .woff2
AddType image/avif .avif

Express (Node.js)

// express automatically sets Content-Type for known extensions
// For custom types:
res.setHeader('Content-Type', 'application/json');
res.send(JSON.stringify(data));

// Or use res.type():
res.type('application/json').send(data);

Cloudflare Workers / Pages

Cloudflare automatically sets correct MIME types for static assets in Pages deployments. For Workers, set the header manually:

return new Response(body, {
  headers: { 'Content-Type': 'application/json' },
});

MIME Types and Security

Content-Type Sniffing

Browsers historically tried to “sniff” the actual content when Content-Type was wrong or missing — a behavior that enabled MIME confusion attacks (e.g., uploading an HTML file disguised as an image that executes JavaScript). Always:

  1. Serve every response with a correct Content-Type header
  2. Add X-Content-Type-Options: nosniff to prevent browsers from overriding your declared type
  3. For user-uploaded files, validate content on the server — do not trust the client-supplied filename extension

File Upload Validation

// ❌ Don't: trust the Content-Type from the client request
const type = req.headers['content-type']; // attacker-controlled

// ✅ Do: read the magic bytes and validate server-side
import { fileTypeFromBuffer } from 'file-type';
const type = await fileTypeFromBuffer(buffer);
if (!['image/jpeg', 'image/png', 'image/webp'].includes(type?.mime)) {
  throw new Error('Invalid file type');
}

CORS and MIME Types

Simple CORS requests are limited to text/plain, application/x-www-form-urlencoded, and multipart/form-data. Using application/json triggers a preflight OPTIONS request, which is the correct security behavior — it ensures the server explicitly allows cross-origin JSON requests.

Frequently Asked Questions

What is the difference between application/xml and text/xml? Both are valid for XML. text/xml is treated as text by clients (can be displayed directly), while application/xml signals that the XML is a machine-readable payload. The W3C and IETF recommend application/xml for API payloads (RFC 7303).

Why does my browser show a download dialog instead of displaying the file? The server is likely returning application/octet-stream or the wrong MIME type. Check the Content-Type response header with browser DevTools (Network tab). Set the correct type (e.g., text/html, image/png) and the browser will render it inline.

What MIME type should I use for JSON-LD structured data? Use application/ld+json in <script> tags. Google Search uses this for schema.org structured data:

<script type="application/ld+json">
{ "@context": "https://schema.org", "@type": "WebPage", ... }
</script>

Is application/javascript or text/javascript correct for JS files? text/javascript is the current IANA-registered standard (RFC 9239, 2022). application/javascript was the older registered type and is widely supported, but text/javascript is now preferred.

What MIME type should I use for TypeScript files? No MIME type is formally registered for TypeScript by IANA. Common conventions are application/typescript or text/typescript. Browsers do not execute TypeScript directly — always transpile to JavaScript before serving.

How do I serve .wasm files correctly? WebAssembly modules must be served as application/wasm. Incorrect MIME types will cause the WebAssembly.instantiateStreaming() API to fail with a MIME type error. This is the most common WASM deployment mistake.

Related Tools

More Encoding & Crypto Tools