Developer Tools

MIME Type Lookup

Search by extension, by media type or by keyword and get the correct MIME type, the format behind it and its category. Typing a common wrong type, such as image/jpg or text/json, shows the correct one. Executable formats and unregistered types are marked, and the listed results can be turned into Apache, Nginx, IIS or JSON mappings.

  • Runs in your browser
  • No sign-up
  • Free to use

ExtensionMedia typeFormatCategory

How to use MIME Type Lookup

  1. Type an extension (webp), a type (application/json) or a word (font).
  2. Narrow the list with a category if you like.
  3. Click a media type to copy it.
  4. Choose a server format to copy mappings for the listed types.

MIME Type Lookup features

About 200 types

Documents, images, audio, video, fonts, archives, code, data and more.

Both directions

Extension to type and type to extensions.

Corrections

Explains outdated or invalid types and gives the right one.

Risk flags

Marks formats that can run code when opened.

Server mappings

AddType, nginx types, IIS mimeMap or JSON.

Instant

Searches as you type, entirely in the browser.

When to use MIME Type Lookup

  • Configuring a web server for .webmanifest, .avif or .wasm files.
  • Setting the right Content-Type in an API or upload handler.
  • Writing an upload allow-list by media type.
  • Checking whether a type in existing code is outdated.

MIME Type Lookup FAQ

What is a MIME type?

A label in the form type/subtype that says what kind of data a file contains, such as image/png or application/pdf. The name comes from e-mail (Multipurpose Internet Mail Extensions); on the web it is officially called a media type.

Who decides MIME types?

The Internet Assigned Numbers Authority (IANA) keeps the official registry. Some widely used types, such as those for certain e-book or 3D formats, were never registered and are marked here.

Is image/jpg valid?

No. The registered type for JPEG images is image/jpeg. Browsers tolerate image/jpg, but strict servers and validators do not.

What type should I use for unknown files?

application/octet-stream, which means “arbitrary binary data” and makes browsers download the file.

Can I trust the type a user’s browser sends with an upload?

No. It is based on the file extension on the user’s computer. Check the file’s actual content, its signature, on the server as well.

Why do some extensions share a type?

Several extensions can mean the same format, such as .jpg and .jpeg, or .htm and .html. The type describes the format, not the name.

Media types on the web

File names mean nothing to HTTP. When a server sends a file, it describes the content with a media type in the Content-Type header, and the browser decides what to do based on that type: render HTML, apply CSS, run JavaScript, display an image, play audio or offer a download. Web servers derive the type from the extension using a mapping table, which is why a missing entry for a newer format causes files to be served as plain text or generic binary data.

A media type has a top-level type and a subtype. The top-level types are text, image, audio, video, font, model, application, multipart and message. Suffixes such as +xml and +json say that a format is built on XML or JSON, as in image/svg+xml or application/ld+json. Vendor-specific formats use the vnd. prefix, which is why Office documents have long names such as application/vnd.openxmlformats-officedocument.wordprocessingml.document.

Getting the type right matters for function and security. Browsers refuse to run scripts and apply style sheets served with the wrong type when nosniff is set, WebAssembly streaming needs application/wasm, and fonts loaded with an unexpected type may be blocked. In the other direction, serving user uploads with types that browsers render, such as text/html or image/svg+xml, can let uploaded files run scripts on your site.

The list here marks formats that can execute code when opened, such as Office files with macros, Windows executables, scripts and installer packages. Those deserve extra care in upload handling: limit uploads to the types you need, check the file’s signature as well as its extension and declared type, store files outside the web root or under random names, and serve them with Content-Disposition: attachment.

When a type changes over time, the old one usually keeps working. JavaScript moved from application/javascript to text/javascript with RFC 9239, and fonts gained their own font/ top-level type with RFC 8081. Typing an outdated or invalid type into the search box shows the current one, so you can update server configuration and code with confidence.

Other useful tools