Перейти к основному содержанию

Определитель типа файла

Определите реальный формат файла, проверив его сигнатуру магического числа — не расширение и не тип MIME, указанный браузером. Обнаружьте файлы с неправильной меткой или переименованные файлы (ZIP, который на самом деле PNG, TXT, который на самом деле PDF) путем проверки фактических байтов в соответствии с опубликованными сигнатурами для PNG, JPEG, GIF, PDF, ZIP/DOCX/XLSX/PPTX, GZIP, BMP, WEBP, WAV, ELF, MP3, 7-Zip и RAR.

Ввод

Drop a file or browse
One file · any type

Файл читается локально в вашем браузере и никогда не загружается. Проверяются только первые несколько тысяч байтов.

Вывод

Результат
СвойствоЗначение
No data yet
Это было полезно?

Другие способы использовать этот инструмент

Виджет для встраивания

<iframe
  src="https://iotools.cloud/embed/file-type-checker/"
  width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
  title="Определитель типа файла — iotools.cloud"
  sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
  allow="clipboard-write"
  style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>

Вставьте это на свою страницу — бесплатно, без ключа, нужна лишь обратная ссылка.

Также доступно через

Руководства

Расширение файла и MIME-тип, «сообщённый браузером», — это всего лишь метки: кто угодно (или что угодно) может переименовать photo.exe в photo.jpg, и большинство программ просто доверяет имени. Определитель типа файла этого не делает. Он читает реальные первые байты файла и сравнивает их с опубликованной сигнатурой магического числа, которая записывается каждым основным форматом в начале файла (или рядом с ним), а затем сообщает, каким файл является на самом деле — и выдаёт предупреждение о несоответствии, если это не совпадает с меткой, которую назначил браузер.

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

Перетащите файл в загрузчик. Определение происходит сразу и полностью в вашем браузере — файл читается локально и никуда не отправляется. В таблице результатов отображается:

  • Detected File Type и Detected MIME Type — что на самом деле указывает байтовая сигнатура.
  • Confidence — насколько сильный это сигнал (см. ниже).
  • Typical Extension(s) — типичные расширения для определённого формата.
  • Signature Bytes Matched и Detection Basis — точные байты в hex, которые были проверены, и правило, по которому было найдено совпадение, чтобы вы могли проверить результат самостоятельно, а не принимать его на веру.
  • First Bytes Inspected (hex) — необработанный hex-дамп начала файла; показывается независимо от того, нашлось ли совпадение.
  • Browser-Reported MIME (from upload) — MIME-тип, который ваш браузер предположил для файла (обычно по расширению).
  • Mismatch Warning — сообщает о расхождении между предположением браузера и определением на уровне байтов, ради чего, собственно, и существует этот инструмент: обнаружить переименованный или неверно помеченный файл.

Как работает определение

У каждого формата есть фиксированный байтовый шаблон в начале файла — «магическое число» — который задан его собственной спецификацией. Проверка ищет, по порядку: PNG (89 50 4E 47 0D 0A 1A 0A), JPEG (FF D8 FF), GIF87a/GIF89a, PDF (%PDF-), GZIP (1F 8B), ZIP (50 4B 03 04, включая варианты пустого и многотомного архива), BMP (BM), WebP и WAV (оба — контейнеры RIFF, различаемые по тегу типа формы на смещении байта 8), исполняемые файлы ELF, MP3 (тег ID3v2 или же голый шаблон синхронизации кадров MPEG как более слабый запасной вариант), 7-Zip и RAR (как старый заголовок, так и версии 5+).

Форматы Office на основе ZIP (DOCX/XLSX/PPTX) проходят вторую проверку: поскольку на уровне байтов все они — обычные архивы ZIP, одно лишь совпадение 50 4B 03 04 не позволяет отличить их друг от друга или от обычного .zip, .jar или .apk. Проверка сканирует первые 8 КБ архива на стандартные внутренние пути, которые записывает Office (word/document.xml, xl/workbook.xml, ppt/presentation.xml), чтобы повысить общий результат «ZIP archive» до конкретного формата Office, когда это возможно. Если таких путей нет, но найден [Content_Types].xml (манифест OOXML), инструмент сообщает «likely Office Open XML, format undetermined», а не угадывает. Обычный ZIP без того и другого определяется как общий архив ZIP.

Уверенность неодинакова. Длинная уникальная сигнатура, например 8 байт PNG или 6 байт 7-Zip, оценивается примерно в 99% — случайного совпадения практически не бывает. Короткие сигнатуры (2-байтовая BM у BMP) получают более низкую оценку, поскольку два байта могут с заметной вероятностью встретиться случайно в не относящихся к делу данных. Проверка голой синхронизации кадров MP3 (всего 11 бит) — самый слабый сигнал в наборе. Если ни одна известная сигнатура не совпала, проверка переходит к текстовой эвристике: если более 90% первых 1000 байтов — печатаемые символы, инструмент сообщает «Plain text» с низкой или средней уверенностью; иначе честно сообщает «Unknown».

Почему появляется «MISMATCH», если я не переименовывал файл?

Некоторые инструменты и ОС назначают MIME-тип только по расширению файла, никогда не проверяя содержимое, — поэтому повреждённая загрузка, файл, сохранённый с неправильным расширением другой программой, или действительно неверно помеченный файл вызовут предупреждение. Это означает, что байты не соответствуют метке, а не обязательно то, что кто-то намеренно переименовал файл.

Загружается ли мой файл куда-нибудь?

Нет. Этот инструмент работает полностью на стороне клиента в вашем браузере (у него нет API/программного доступа) — файл читается и проверяется локально, и его содержимое никогда не покидает ваше устройство.

Почему он не распознаёт мой формат файла?

Проверяются только форматы, перечисленные выше. Всё остальное попадает в простую текстовую эвристику или сообщается как неизвестное — определение по магическому числу охватывает только форматы с задокументированной и стабильной байтовой сигнатурой, и инструмент придерживается проверенного подмножества, а не угадывает недокументированные форматы.

file-typemagic-numberfile-signaturemime-typedetectorfile-format

Нравятся инструменты? Уберите рекламу.

Один платёж навсегда убирает всю рекламу с вашего аккаунта. Без подписки, без слежки.