What is MIME Type Lookup?
MIME types (Multipurpose Internet Mail Extensions, also called media types) are standardized identifiers that declare the format and nature of content transmitted over the internet. Every HTTP response includes a Content-Type header carrying a MIME type that tells the browser how to interpret the payload — whether to render it as HTML, parse it as JSON, display it as an image, or offer it as a download. Originally designed for email attachments, MIME types now underpin content negotiation, file upload handling, and API request formatting across the entire web. The IANA registry maintains the authoritative list, but most developers only need the common types covered by this reference.
How to Use
- Search by MIME type name (e.g., image/png) or file extension (e.g., .jpg) using the toggle to switch between search modes
- Filter by category — Text, Images, Audio, Video, Application, or Fonts — to browse a specific media family
- Click any MIME type card to see its detail panel with file extensions, category, and ready-to-use HTTP header examples
- Copy the MIME type string with one click for immediate use in your Content-Type or Accept headers
Why Use This Tool?
Tips & Best Practices
- Always append charset=utf-8 to text-based MIME types (text/html, application/json) to prevent character encoding issues
- Use application/octet-stream when you need to force a download for an unknown binary file type
- File upload forms must use enctype='multipart/form-data' — URL-encoded forms cannot transmit binary data correctly
- application/json is the standard MIME type for REST API request and response bodies
- SVG images use image/svg+xml, not image/svg — the +xml suffix signals that the content is XML-based
- Modern web fonts use the font/ top-level type (font/woff2) rather than the older application/font-woff format
Frequently Asked Questions
What is a MIME type and why does it matter?
A MIME type is a standardized string in the format type/subtype that identifies the format of content. HTTP uses MIME types in the Content-Type header to tell browsers how to process a response, and in the Accept header to request a specific format. Without the correct MIME type, browsers may misrender content — for example, serving HTML as text/plain displays the raw markup instead of rendering the page.
How do I set the Content-Type header correctly?
In your HTTP response, set Content-Type followed by the MIME type and optional parameters. For HTML: Content-Type: text/html; charset=utf-8. For JSON: Content-Type: application/json. For PNG images: Content-Type: image/png. Always include charset for text types to prevent browsers from guessing the encoding.
What MIME type should I use for file uploads?
HTML forms that upload files must use enctype='multipart/form-data' on the form element. Each uploaded file part includes its own Content-Type header with the file's MIME type. In programmatic API requests, use the multipart/form-data content type when sending files alongside other form fields.
When should I NOT rely on MIME types?
Do not trust the Content-Type header for security decisions — it can be spoofed by clients. Always validate file content independently (e.g., checking magic bytes) before processing uploads. Also, MIME type detection from file extensions alone is unreliable; prefer server-side content inspection when the source is untrusted.
Is my data private when using this tool?
Yes. This is a static reference tool that runs entirely in your browser. No data is sent to any server, and no network requests are made beyond the initial page load. Your searches and clicks are completely local.
What is the difference between text/javascript and application/javascript?
text/javascript is the legacy MIME type that browsers have supported since the early web. application/javascript is the official IANA-registered type per RFC 4329. Modern browsers treat them identically, but application/javascript is technically preferred for new implementations. In practice, most servers still use text/javascript for maximum compatibility.
Real-world Examples
Setting Content-Type for a JSON API response
A Node.js Express handler returns JSON data to the client with the correct MIME type and charset.
res.setHeader('Content-Type', 'application/json');
res.json({ status: 'ok', data: [] });HTTP/1.1 200 OK
Content-Type: application/json
{"status":"ok","data":[]}Configuring Nginx to serve WebP images with the correct type
Nginx needs an explicit types entry to serve .webp files with the image/webp MIME type instead of the default application/octet-stream.
# /etc/nginx/mime.types
types {
image/webp webp;
}curl -I https://example.com/photo.webp Content-Type: image/webp