File Extension ↔ MIME Type Lookup
What's the MIME type for .heic? Or .parquet? Or .epub? Server stacks (nginx, Apache, Express, Cloudflare Workers) need to send the right Content-Type header for browsers to handle files correctly — but you don't want to look it up every time. This lookup tool searches 1000+ extension-to-MIME mappings from the IANA registry + common application formats. Type an extension or MIME type and it filters instantly.
How to use the File Extension ↔ MIME Type Lookup
Type any of:
- A file extension (with or without the leading dot):
pdf,.pdf - A MIME type:
image/png,video - A description:
spreadsheet,vector
Results show: the extension(s), full MIME type, a one-line description, and which spec defines it (IANA, RFC, vendor).
About File Extension ↔ MIME Type Lookup
MIME types (Multipurpose Internet Mail Extensions) are the strings servers send in the HTTP Content-Type header to tell browsers what kind of file they're receiving. The browser uses this to decide what to do: render the page (text/html), display the image (image/png), prompt to download (application/octet-stream), play the video (video/mp4).
The canonical MIME type registry is maintained by IANA at iana.org/assignments/media-types. As of 2026 it lists ~2400 types across nine top-level categories (application, audio, font, image, message, model, multipart, text, video). The mapping from file extension to MIME type is not formally part of IANA — file extensions are an OS convention, while MIME types describe content. Most servers maintain their own mapping table (nginx has mime.types, Apache has mime.types, Node's mime-db package is the de-facto source).
This tool indexes the union of: the IANA registry, nginx's mime.types, the mime-db package, plus common vendor-specific types that aren't IANA-registered (modern image formats like HEIC / AVIF, data formats like Parquet / Arrow, app-specific types). Total: ~1,100 entries.
Common use cases
- Configuring nginx / Apache — adding a missing MIME mapping (e.g. for
.webmanifestor.woff2). - Setting
Content-Typein code — Express middleware, Lambda response, fetch() requests. - File upload validation — checking that an uploaded file's extension matches its claimed MIME type (defense against type confusion).
- Debugging "wrong file" issues — browser shows raw JSON because the server returned
text/plain; tool shows the right type to use. - API documentation — listing accepted upload types with proper MIME notation.
Frequently asked questions
Why are there multiple MIME types for some extensions?
.js can be application/javascript (modern), text/javascript (RFC 9239, current preferred), or application/x-javascript (legacy). The first match is shown; the alternatives are listed below.What about extension-less files?
application/octet-stream (generic binary) or content-sniff. Always send an explicit type when you can.Why <code>image/x-icon</code> vs <code>image/vnd.microsoft.icon</code>?
image/vnd.microsoft.icon is the IANA-registered name; image/x-icon is the legacy one. Browsers accept both.Where does this dataset come from?
mime-db npm package — all open data, last refreshed mid-2026.