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 .webmanifest or .woff2).
  • Setting Content-Type in 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?

Historical reasons. .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?

Servers fall back to 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>?

Both refer to .ico files. 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?

IANA assignments, nginx mime.types, and the mime-db npm package — all open data, last refreshed mid-2026.