ToolActToolAct

Справочник MIME-типов

Быстрый поиск MIME-типов по расширению файла, поддержка поиска и фильтрации по категориям

Всего 115 个类型

Документы(17)

.pdf

application/pdf

.doc

application/msword

.docx

application/vnd.openxmlformats-officedocument.wordprocessingml.document

.xls

application/vnd.ms-excel

.xlsx

application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

.ppt

application/vnd.ms-powerpoint

.pptx

application/vnd.openxmlformats-officedocument.presentationml.presentation

.txt

text/plain

.rtf

application/rtf

.odt

application/vnd.oasis.opendocument.text

.ods

application/vnd.oasis.opendocument.spreadsheet

.odp

application/vnd.oasis.opendocument.presentation

.csv

text/csv

.json

application/json

.xml

application/xml

.html

text/html

.htm

text/html

Изображения(15)

.jpg

image/jpeg

.jpeg

image/jpeg

.png

image/png

.gif

image/gif

.webp

image/webp

.svg

image/svg+xml

.ico

image/x-icon

.bmp

image/bmp

.tiff

image/tiff

.tif

image/tiff

.avif

image/avif

.heic

image/heic

.heif

image/heif

.psd

image/vnd.adobe.photoshop

.raw

image/raw

Аудио(10)

.mp3

audio/mpeg

.wav

audio/wav

.ogg

audio/ogg

.m4a

audio/mp4

.flac

audio/flac

.aac

audio/aac

.wma

audio/x-ms-wma

.aiff

audio/aiff

.mid

audio/midi

.midi

audio/midi

Видео(12)

.mp4

video/mp4

.webm

video/webm

.avi

video/x-msvideo

.mov

video/quicktime

.wmv

video/x-ms-wmv

.flv

video/x-flv

.mkv

video/x-matroska

.m4v

video/mp4

.mpeg

video/mpeg

.mpg

video/mpeg

.3gp

video/3gpp

.m2ts

video/mp2t

Архивы(9)

.zip

application/zip

.rar

application/vnd.rar

.7z

application/x-7z-compressed

.tar

application/x-tar

.gz

application/gzip

.bz2

application/x-bzip2

.xz

application/x-xz

.iso

application/x-iso9660-image

.dmg

application/x-apple-diskimage

Код(31)

.js

application/javascript

.mjs

application/javascript

.ts

application/typescript

.tsx

application/typescript

.jsx

application/javascript

.css

text/css

.scss

text/x-scss

.sass

text/x-sass

.less

text/x-less

.py

text/x-python

.java

text/x-java

.c

text/x-c

.cpp

text/x-c++

.h

text/x-c

.hpp

text/x-c++

.cs

text/x-csharp

.go

text/x-go

.rs

text/x-rust

.rb

text/x-ruby

.php

text/x-php

.swift

text/x-swift

.kt

text/x-kotlin

.sql

application/sql

.sh

application/x-sh

.bash

application/x-sh

.yaml

application/x-yaml

.yml

application/x-yaml

.toml

application/toml

.ini

text/x-ini

.vue

text/x-vue

.svelte

text/x-svelte

Шрифты(5)

.woff

font/woff

.woff2

font/woff2

.ttf

font/ttf

.otf

font/otf

.eot

application/vnd.ms-fontobject

Другое(16)

.exe

application/vnd.microsoft.portable-executable

.msi

application/x-msi

.apk

application/vnd.android.package-archive

.ipa

application/octet-stream

.deb

application/vnd.debian.binary-package

.rpm

application/x-rpm

.jar

application/java-archive

.war

application/java-archive

.swf

application/x-shockwave-flash

.crx

application/x-chrome-extension

.xpi

application/x-xpinstall

.torrent

application/x-bittorrent

.ics

text/calendar

.vcf

text/vcard

.epub

application/epub+zip

.mobi

application/x-mobipocket-ebook

Что такое MIME-тип?

MIME-тип (Многоцелевые расширения почты Интернета) — это стандарт для представления природы и формата документа, файла или потока байтов. Браузеры и серверы используют MIME-типы для определения способа обработки файла. Например, когда браузер получает тип image/jpeg, он отображает изображение. MIME-типы описывают, какой контент содержит файл или HTTP-ответ: text/html, application/json, image/png, application/pdf и другие. Они влияют на отображение в браузере, скачивание, API parsing, upload validation, caching и security behavior. Расширение файла и MIME-тип не всегда совпадают, поэтому проверка важна при диагностике сервера, неизвестных файлов и проблем загрузки. Для безопасности MIME-типам нельзя доверять вслепую; нужно сочетать inspection содержимого, правила расширений и явный allowlist.

Как использовать

Краткая справка

  1. Используйте строку поиска, чтобы найти нужные расширения или MIME-типы
  2. Нажимайте на теги категорий для фильтрации по типу файла
  3. Нажимайте кнопки «Ext» или «MIME» для копирования соответствующего содержимого
  4. Просматривайте категории для быстрого поиска: документы, изображения, аудио, видео, архивы, код, шрифты и т. д.

Примечания по поиску

  • MIME-типы — это соглашения, используемые серверами, браузерами и приложениями; одного расширения файла недостаточно для определения фактического содержимого.
  • При загрузке и проверке безопасности, если возможно, проверяйте как объявленный MIME-тип, так и сигнатуру файла.

Применение

Поиск MIME-типов по расширениюИщите расширения или MIME-строки среди документов, изображений, аудио, видео, архивов, файлов кода, шрифтов и других распространённых типов. Результаты остаются сгруппированными по категориям при активном фильтре «Все», что упрощает обзор по сравнению с единым плоским списком. Полнотекстовый поиск работает как по расширению (png, webp, json), так и по значению MIME (image/png, application/json), поэтому один и тот же инструмент подходит для обоих вариантов поиска.
Копирование значений для заголовков загрузок и ответовКаждая карточка позволяет скопировать либо расширение, либо значение MIME — это удобно при настройке списков accept для загрузки файлов, заголовков Content-Type, метаданных хранилища, правил CDN или серверных карт валидации. Справочник встроен в страницу, поэтому работает офлайн и на внутренних ноутбуках без доступа к реестру IANA. Кнопка копирования записывает точное значение в буфер обмена без завершающих пробелов и кавычек.
Проверка охвата категорий при разработке файловых функцийФильтры категорий и счётчик результатов помогают продуктовым и инженерным командам определить, какие семейства файлов распознаёт функция в данный момент. Это быстрая справка по распространённым форматам, а не полный реестр стандартов. Небольшой пробел в разделе архивов или шрифтов часто указывает на функцию, которая молча отвергает загрузки.
Формирование заголовков Content-Type для ответов REST APIКопируйте точные значения вроде application/vnd.api+json или application/x-ndjson в вызовы response.setHeader(). Сверяйте необычные суффиксы с фильтром категорий, чтобы ответы JSON-LD, GeoJSON или WebAssembly не были приняты за обычный текст. Соглашения vendor-specific +json и +xml (RFC 6839) несут полезную информацию о структуре полезной нагрузки, поэтому опечатка здесь обычно ломает клиентский парсер.
Охват IANA, экспериментальных x-префиксов и content sniffingРеестр IANA — канонический источник зарегистрированных MIME-типов, но он не перечисляет все рабочие значения: экспериментальные записи используют префикс x- (application/x-tar, application/x-rar-compressed) и никогда не были стандартизированы, хотя встречаются в файлах mime.types для nginx и Apache. Для безопасности content sniffing (чтение магических байтов в начале файла) надёжнее, чем доверие к объявленному заголовку Content-Type, а современные браузеры поддерживают X-Content-Type-Options: nosniff для отключения устаревшего автоматического определения. Используйте таблицу для поиска значения заголовка, а затем проверяйте реальные байты на сервере перед выдачей файла.

Технический принцип

MIME-типы (Multipurpose Internet Mail Extensions) — это стандартизированные идентификаторы форматов данных, первоначально определённые в RFC 2045/RFC 2046 для почтовых вложений и впоследствии принятые в HTTP (RFC 7231 §3.1.1.5) для согласования веб-контента. MIME-тип имеет структуру type/subtype — тип указывает общую категорию (text, image, audio, video, application, multipart, font, model), а подтип — точный формат (например, text/html, image/png, application/json). Необязательные параметры указываются после точки с запятой (text/html; charset=utf-8). Агентство Internet Assigned Numbers Authority (IANA) ведёт официальный реестр MIME-типов на iana.org/assignments/media-types. Регистрация регламентируется RFC 6838, который определяет процесс рецензирования, требующий документ спецификации, раздел о межоперабельности и соображения безопасности. Незарегистрированные типы могут использовать префикс x- (например, application/x-tar) как соглашение для экспериментальных или вендорных форматов, хотя RFC 6648 рекомендует отказываться от префикса x- в пользу надлежащей регистрации. В HTTP заголовок Content-Type сообщает клиенту, как интерпретировать тело ответа. Сервер, возвращающий Content-Type: image/svg+xml, запускает SVG-рендерер браузера; Content-Type: application/octet-stream вызывает диалог загрузки, поскольку браузер не может определить формат. Браузер также использует информацию о MIME-типе для MIME sniffing — когда сервер опускает Content-Type или отправляет обобщённый тип, браузер может проанализировать первые несколько байтов ответа (магические байты), чтобы угадать фактический формат. Это поведение контролируется заголовком X-Content-Type-Options: nosniff, который отключает угадывание и требует от сервера объявить правильный тип. При загрузке файлов заголовок Accept сообщает серверу, какие MIME-типы клиент ожидает в ответе, а атрибут accept элемента input ограничивает выбор файлов определёнными типами (например, accept="image/png, image/jpeg"). На стороне сервера загруженные файлы следует проверять как по объявленному MIME-типу, так и по сигнатуре файла (магическим байтам), поскольку ни один из них по отдельности не является надёжным — файл с именем image.png и Content-Type: image/png может содержать исполняемый код. Инструмент служит справочником для поиска канонического MIME-типа по расширению файла, охватывая более 100 распространённых форматов в восьми категориях.

  • Структура RFC 2046: type/subtype — тип указывает общую категорию контента, а подтип — точный формат; необязательные параметры следуют после точки с запятой (text/html; charset=utf-8) и не чувствительны к регистру по спецификации, хотя строчные буквы являются общепринятым соглашением.
  • Регистрация IANA (RFC 6838): новые медиатипы требуют документ спецификации, раздел о соображениях безопасности и примечания о межоперабельности — процесс рецензирования гарантирует, что типы хорошо документированы и конфликты исключены до их включения в реестр.
  • Заголовок HTTP Content-Type: сервер объявляет MIME-тип тела ответа; браузер использует его для выбора подходящего рендерера (HTML-парсер, декодер изображений, средство просмотра PDF) или запуска загрузки — некорректный Content-Type является самой частой причиной ошибок «файл загружается вместо отображения».
  • MIME sniffing и X-Content-Type-Options: когда Content-Type отсутствует или является обобщённым, браузеры могут анализировать магические байты для определения формата — X-Content-Type-Options: nosniff отключает это поведение и требует точного совпадения Content-Type, что является рекомендацией по безопасности.
  • application/octet-stream: обобщённый тип двоичного запасного варианта — браузеры рассматривают его как непрозрачный поток и инициируют загрузку, что делает его наиболее безопасным вариантом по умолчанию, когда сервер не может определить формат, но это препятствует предварительному просмотру иначе отображаемого контента в браузере.
  • Проверка загружаемых файлов: атрибут accept элемента input фильтрует выбор файлов на стороне клиента, но проверка на стороне сервера должна проверять как объявленный Content-Type, так и магические байты файла — несовпадение расширения, MIME-типа и сигнатуры файла является тревожным сигналом при загрузке вредоносных файлов.
  • Вендорные и экспериментальные типы: соглашение о префиксе x- (application/x-tar, video/x-matroska) предшествует формальному процессу регистрации — RFC 6648 рекомендует при возможности переводить их на надлежащие типы, зарегистрированные в IANA, но многие из них по-прежнему широко используются.

Примеры

Конфигурация Nginx mime.types

types {
  text/html             html htm;
  image/jpeg            jpg jpeg;
  application/pdf       pdf;
  application/javascript js;
}

Примечание: каждая строка сопоставляет MIME-тип с одним или несколькими расширениями файлов; Nginx передаёт тип в заголовке Content-Type
IANA: https://www.iana.org/assignments/media-types/ ведёт официальный реестр

HTTP-заголовок ответа Content-Type

Content-Type: application/json; charset=utf-8

Примечание: charset необязателен, но рекомендуется для text/* и application/json; клиенты используют его для корректного декодирования тела
RFC: RFC 7231 раздел 3.1.1.5 определяет семантику заголовка Content-Type
MDN: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type

Конструктор Blob в браузере

const blob = new Blob([data], { type: 'application/pdf' });
const url  = URL.createObjectURL(blob);

Примечание: type становится Content-Type при последующей загрузке или отправке blob; выбирайте конкретный подтип, чтобы избежать application/octet-stream
MDN: https://developer.mozilla.org/en-US/docs/Web/API/Blob/Blob описывает параметр type

Распространённые MIME-типы по категориям

Text:       text/plain, text/html, text/css, text/javascript, text/markdown
Image:      image/jpeg, image/png, image/gif, image/webp, image/svg+xml
Audio:      audio/mpeg, audio/wav, audio/ogg, audio/aac
Video:      video/mp4, video/webm, video/ogg
Application: application/json, application/pdf, application/xml, application/zip

IANA классифицирует их в реестре Media Types по именам типов верхнего уровня

Часто задаваемые вопросы

Что такое MIME-тип и почему он важен?

MIME-тип (Multipurpose Internet Mail Extensions, также называется media type) — это короткая метка вроде text/html, image/png или application/json, которая сообщает принимающему ПО, как трактовать поток байтов. Браузеры, почтовые клиенты, загрузчики файлов и API ориентируются на него, чтобы решить — рендерить, скачивать, парсить или отклонять содержимое.

Чем MIME-тип отличается от расширения файла?

Расширение — это часть имени файла, чисто соглашение о наименовании. MIME-тип передаётся по сети в заголовке Content-Type. Обычно они согласованы (.png ↔ image/png), но сервер может отдать любое расширение с любым MIME-типом, и браузеры доверяют заголовку гораздо больше, чем расширению. Согласовывать их — хороший тон; полагаться на расширение в задачах безопасности — ошибка.

Что означает application/octet-stream?

Это универсальный MIME-тип «произвольные двоичные данные». Получив его, браузер предложит скачать файл, а не пытаться его отобразить. Серверы возвращают его, когда не могут определить формат, — обычно это значит, что MIME-сопоставление отсутствует или настроено неверно. Заменяйте его на конкретный тип, как только это возможно.

Можно ли доверять Content-Type для проверки загруженных файлов?

Сам по себе — нет. Кто угодно может заявить image/png, загружая исполняемый файл. Всегда сверяйтесь с реальными байтами (магические числа, заголовок PNG 89 50 4E 47, заголовок PDF %PDF-, заголовок ZIP PK), проверяйте расширение, держите серверный allowlist и ограничивайте размер. MIME, вычисленный браузером при загрузке, — это подсказка, а не доказательство.

Почему скачанный файл сохраняется с неправильным именем или расширением?

Имя файла браузер берёт из заголовка Content-Disposition, пути URL и MIME-типа — именно в таком порядке. Если сервер отдаёт PDF с text/html, браузер может сохранить его как .html. Чтобы избежать сюрпризов, задавайте Content-Disposition: attachment; filename="name.pdf" и корректный MIME application/pdf.

Как найти подходящий MIME-тип для нестандартного или редкого формата?

Сначала проверьте реестр медиатипов IANA (iana.org/assignments/media-types). Для незарегистрированных или вендор-специфичных форматов принят формат application/vnd.* или application/x-* (например, application/vnd.api+json, application/x-7z-compressed). Сначала ищите ближайшее стандартное соответствие, прежде чем изобретать своё.

Почему .json и .js имеют разные MIME-типы?

JSON — это данные, и им соответствует application/json. JavaScript — исполняемый код, отдаётся как text/javascript или application/javascript (RFC 9239 рекомендует именно text/javascript). Путать их важно: тег script откажется выполнять application/json, а некоторые серверы отвергают application/javascript, принимая только текстовый вариант.

Похожие инструменты

Запрос HTTP-кодов состояния

Бесплатный онлайн-справочник кодов состояния HTTP: все стандартные коды от 1xx до 5xx с описанием. Поиск и фильтр по категориям для быстрого поиска кода.

Запрос таблицы ASCII

Бесплатная онлайн-таблица ASCII: управляющие, печатные и расширенные символы с кодами. Ищите и фильтруйте значения ASCII для быстрого поиска нужного символа.

Справочник команд Git

Бесплатная онлайн-шпаргалка по командам Git: самые нужные команды с группировкой по категориям, поиском и фильтром для быстрого поиска подходящей команды.

Инструмент проверки хеша файла

Бесплатный онлайн-калькулятор хэша файла: MD5, SHA-1, SHA-256, SHA-512 и другие. Вычисляйте контрольную сумму и проверяйте целостность файлов.

Кодировщик/Декодировщик Base64

Онлайн-инструмент для кодирования и декодирования Base64 с поддержкой UTF-8 текста, кириллицы и изображений. Мгновенное кодирование без установки программ.

Инструмент поиска IP-адреса

Бесплатный онлайн-инструмент для определения вашего публичного IP-адреса и геолокации: страна, город и провайдер. Узнайте свой IP мгновенно в браузере.