MIME Type Finder

Find MIME types for any file extension from a searchable database

What is it and how does it work?

MIME types (Multipurpose Internet Mail Extensions) are standardised labels that identify the format of a file or data stream. Originally developed for email attachments, they are now fundamental to HTTP, APIs, and web development. A MIME type consists of a type and subtype separated by a slash: `text/html`, `application/json`, `image/png`, `video/mp4`. The HTTP `Content-Type` header uses MIME types to tell the browser how to interpret a response, and the `Accept` header tells a server what formats the client can handle.

This tool looks up the correct MIME type for a file extension (`.pdf` → `application/pdf`, `.jpg` → `image/jpeg`) and conversely finds common extensions for a given MIME type. It covers IANA-registered types as well as common unofficial types used in web development, including `application/javascript`, `application/x-www-form-urlencoded`, and the `charset` parameter for text types.

Common use cases

Frequently asked questions

What is the difference between `application/octet-stream` and a specific MIME type?

`application/octet-stream` is the generic binary type — "here is some binary data, figure it out yourself". It's the fallback when no specific type is known. Specific types like `application/pdf` tell the browser or client exactly what the data is. For downloads, `Content-Disposition: attachment` combined with a specific MIME type lets the browser suggest the right application to open the file.

Why is the MIME type for JavaScript files debated?

The IANA standard is `text/javascript` (as of 2020 RFC 9239, which obsoleted `application/javascript`). However, many servers still use `application/javascript`. Browsers accept both. For `<script>` tags, the MIME type attribute matters for module detection: `type="module"` loads ES modules regardless of MIME type. Always use `text/javascript` for new configurations.

What is `multipart/form-data` and when is it required?

`multipart/form-data` is used for HTML form submissions that include file uploads (i.e., `<input type="file">`). Standard form submissions use `application/x-www-form-urlencoded`, which URL-encodes key-value pairs. For file uploads, the file binary data cannot be URL-encoded — `multipart/form-data` sends each form field as a separate "part" with its own content type header.

What are MIME type parameters?

MIME types can include parameters after a semicolon. The most common is `charset`: `Content-Type: text/html; charset=UTF-8` tells the browser to interpret the HTML as UTF-8. Other examples: `Content-Type: multipart/form-data; boundary=------WebKitFormBoundary...` (defines the part separator); `Content-Type: application/json; charset=utf-8` (json is always UTF-8 per RFC 8259, but the parameter is sometimes added).

Network

Subnet Calculator · IP Address to Binary · URL Builder · Query String Parser · HTTP Header Builder · Common Ports Reference