MIME Type Dictionary

Quickly find the correct MIME type (Content-Type) for any file extension, or look up extensions by MIME type.

Category

Clicking an item copies its MIME type. For text-based types (text/*, application/json, etc.), append ; charset=utf-8 to ensure Korean characters display correctly. Do not rely solely on extensions; server-side content verification is also recommended.

What is the MIME Type Dictionary?

Ever been stuck trying to remember the right `Content-Type` for a file? Sending the wrong MIME type header can cause browsers to display files incorrectly or force downloads. This MIME type dictionary solves that problem. Instantly search hundreds of common types by extension (`.pdf`), MIME type (`application/json`), or even a simple description like `Excel` or `PowerPoint`. Results appear as you type. Click any entry to copy the full MIME type; for text-based formats, it even automatically appends `; charset=utf-8` to prevent character encoding issues.

How to use

  1. Enter a query into the "Search" box. You can use a file extension like `pdf`, a MIME type like `application/json`, or a description like `Word`.
  2. Results are filtered in real-time as you type, with frequently used types appearing at the top.
  3. To narrow your search, click a category button like "Web/Code", "Image", or "Document".
  4. Find the item you need in the list and click it. The full MIME type is immediately copied to your clipboard.
  5. For text-based types (e.g., `text/html`, `application/json`), `; charset=utf-8` is automatically added to the copied value to ensure proper display of international characters.

MIME Type Dictionary guide

How this tool is used in real work, and what to watch out for.

What actually happens when the Content-Type is wrong

The MIME type is the only official channel to tell a browser what a file is. The file extension is just a hint; the browser trusts the Content-Type header sent by the server first. If this value is wrong, the file itself is fine, but it will behave strangely.

SymptomCommon CauseHow to Fix
PDFs or images are downloaded instead of displayedapplication/octet-streamUse the correct type, like application/pdf or image/png
File opens in the browser when a download was intendedType is correct, but no instruction to downloadAdd the Content-Disposition: attachment header
CSS is included, but styles are not appliedtext/plaintext/css
JavaScript module is rejected and fails to loadtext/plain or octet-streamtext/javascript
Web font is not appliedoctet-streamfont/woff2
Excel shows a warning before opening a downloaded .xlsx filevnd.ms-excel (the old .xls type)The openxmlformatsโ€ฆ .sheet type (search and copy it)
If a MIME type seems suspicious, browsers may try to guess the real type by inspecting the content (MIME sniffing). This can be a security hole, so the standard response is to block it by adding `X-Content-Type-Options: nosniff` to the response. However, with `nosniff` enabled, any file with the wrong type will fail outright instead of being saved by a guess. So, make sure your types are correct before you enable it.

When should you add charset=utf-8?

In this dictionary, text-based types like text/html and application/json are shown with `; charset=utf-8`. When you click an item, it's copied with that suffix included. This is not added for binary files like images or archives, because they don't have the concept of character encoding.

If you omit the charset, the browser has to guess the encoding. This might go unnoticed for pages with only English text, but it will break the moment non-ASCII characters appear. If it works locally but breaks on deployment, your server is likely sending the content without a charset.

  • HTML: The `charset` in the response header overrides the `<meta charset>` tag inside the document. If changing the meta tag has no effect, check the server headers.
  • JSON: The specification for `application/json` defaults to UTF-8, so it's generally safe even without a `charset`. But there's no harm in specifying it.
  • CSV: Even if you send a file as `text/csv; charset=utf-8`, Excel will ignore the header and open it using the system's default encoding (e.g., CP949 in Korea), breaking non-ASCII characters. To make Excel recognize UTF-8, you must include a UTF-8 BOM (Byte Order Mark: EF BB BF) at the very beginning of the file.
If a filename with non-ASCII characters gets garbled during download, the problem is `Content-Disposition`, not `Content-Type`. Putting non-ASCII characters directly into `filename=` will break it; you must use the `filename*` format, like `filename*=UTF-8''...`.

Why you shouldn't trust only the MIME type for file upload validation

The `Content-Type` that a browser attaches to a file upload is usually just based on the file extension. This means an attacker can change it to whatever they want. Sending an `exploit.php` file declared as `image/png` doesn't even require developer tools; a single `curl` command is enough. A check like "allow if MIME is `image/*`" is not real validation.

  • Use an extension whitelist. It must be a list of allowed extensionsโ€”a blacklist is easily bypassed with variants like `.phtml`, `.php5`, or uppercase `.PHP`.
  • Also, verify the file's signature (magic bytes) at the beginning. For example, a PNG file always starts with `89 50 4E 47`.
  • Generate a new, safe filename on the server. Never use the name provided by the user, as it can be an entry point for path traversal (`../`) and extension forgery.
  • Disable script execution in the uploads directory. This is why `x-httpd-php` is listed in this dictionary with the note "should not be served with this type."
  • SVG files look like images but are XML documents that can contain scripts. Serving a user-uploaded SVG directly can lead to XSS attacks. Serve them from a separate domain or sanitize them first.
MIME type validation is a convenience feature for catching honest user mistakes, not a security measure. Your real lines of defense are an extension whitelist, signature checking, disabling execution, and serving from a separate domain.

MIME types that are particularly confusing in Korea

Some formats frequently encountered in Korean business environments were standardized late or are Korea-specific, so their MIME type notations are not consistent. This dictionary lists the de facto types used in practice.

FormatValue in this DictionaryGood to Know
HWPapplication/x-hwpMany systems also send `application/haansofthwp`. Match the type to what the receiving system expects.
HWPXapplication/vnd.hancom.hwpxAn open standard. It's actually a ZIP file, so MIME sniffing might mistake it for one.
ALZ ยท EGGx-alz-compressed ยท x-eggThese are Korea-specific, so their types are just conventions. When in doubt, use `octet-stream`.
xlsxopenxmlformatsโ€ฆ .sheetIf you lazily use `vnd.ms-excel` because it's shorter, it will be treated as an old `.xls` file, triggering a warning.
When dealing with government agencies that exchange forms in HWP format, it's often faster to check their technical documentation to see what MIME type their server expects. Since there's no single standard, the "right" value is whatever the other party accepts.

Search tips and the limits of this dictionary

The search box accepts anything: an extension (pdf), a MIME type (application/json), or a descriptive keyword (Excel, Hangul, font). You can include the dot and type `.pdf`, or narrow your search to only extensions or MIME types using the tabs above. You can also use the category chips to browse types like images or documents.

This dictionary is a curated list of types used in web development, not the entire official IANA registry. For special formats not found here, check the IANA Media Types registry directly. If a type isn't registered at all, `application/octet-stream` is the correct answerโ€”it will always be treated as a file to download.

bash
# Check what a server is actually sending (headers only)
curl -sI https://example.com/file.pdf | grep -i content-type

# Guess a file's type from its content (without trusting the extension)
file --mime-type -b ./upload.png

Frequently asked questions

Why are MIME types important?

They tell the browser how to handle a file. `text/html` is rendered as a webpage, `image/png` is shown as a picture, and `application/octet-stream` triggers a download. An incorrect type can break your site or create security risks.

What can I search for?

You can search by file extension (e.g., `.xlsx`), the full MIME type (`application/json`), or a description (`Excel`, `photo`). The search is flexible, covering extensions, types, and descriptions to help you find what you need.

Why is `; charset=utf-8` added when I copy?

For text files like HTML, JSON, or CSS, this part tells the browser to use UTF-8 encoding, which prevents non-English characters from breaking. The tool adds it automatically for convenience on relevant types to help you avoid common mistakes.

The MIME type I need isn't here.

This dictionary covers hundreds of common types. If a specific type is missing, you can often use `application/octet-stream` to force the browser to download the file. For official types, refer to the IANA Media Types registry.