开发者工具 · 时间 / 数字开发

MIME 类型查询

扩展名↔MIME/文件头嗅探

本地处理 · 不上传 免费 · 无需登录 无次数限制 累计 94 次使用
MIME Types · Reference & File Sniffing 扩展名 ↔ MIME · 魔数嗅探 · 纯本地
类 别 筛 选image · audio · video · text · application · font
M I M E 全 表Gallery · 点扩展名或 MIME 即复制
文件头魔数嗅探 读前若干字节,按签名表识别真实类型 · 与扩展名比对防伪装 · 文件不上传
拖拽文件到此 · 或点击选择
仅在浏览器本地读取前 64 字节识别真实类型(PNG / JPG / PDF / ZIP / GZIP / WebP / MP4 …),不会上传
就绪 · 对照 IANA / MDN / 文件魔数表 · 双向查询 + 全表检索 + 头部嗅探 · 全程浏览器本地
第一节

关于本工具

About

服务器返回 404 时,浏览器报错信息里只有一行 `text/html`,但运维需要确认它到底是不是一段纯文本 HTML。输入文件扩展名或粘贴一段文件头字节,这个工具返回对应的 MIME 类型字符串——它查的是 IANA 注册表里的官方映射,不是猜的。所有文件头嗅探都在浏览器本地完成,不上传任何内容。

使用场景

邮件附件被拦截

外贸业务员小陈给德国客户发产品手册的 .ai 文件,对方邮件系统拒收,提示“文件类型不安全”。小陈用本工具查 .ai 的 MIME 类型为 application/postscript,确认不是可执行文件。他把截图和 RFC 定义附在邮件里,说服对方 IT 放行,订单没因技术问题卡住。

CDN 图片加载失败

前端工程师老赵发现线上商品图在 Safari 上裂开,控制台报 MIME 类型错误。他用本工具查 .webp 的标准 MIME 是 image/webp,但服务器返回了 image/jpeg。他把 Nginx 配置里缺失的 mime.types 条目补上,图片恢复显示,不需要改任何前端代码。

.m4a 文件无法上传

音频剪辑师阿琳要给播客平台传一期节目,平台提示“不支持的文件格式”。她用本工具查 .m4a 的 MIME 类型是 audio/mp4,确认不是文件损坏。她改后缀为 .mp4 再传,平台识别正常——因为平台后端只按 MIME 白名单校验,不依赖扩展名。

文档扫描件重命名

档案管理员收到一批无扩展名的扫描文件,文件名全是“SCAN0001”。她用本工具的文件头嗅探功能,逐个查十六进制头:FF D8 FF 对应 .jpg,25 50 44 46 对应 .pdf。5 分钟把 200 个文件分类归入正确文件夹,不用逐个打开看内容。

API 对接报错415

后端实习生小张调用第三方支付接口,一直返回 HTTP 415 Unsupported Media Type。他用本工具查自己发的 Content-Type 是 application/x-www-form-urlencoded,而接口文档要求 application/json。改请求头后一次通过,排查时间从半小时降到 2 分钟。

第二节

使用指南

Getting Started

使用步骤

  1. 1在输入框粘贴或键入文件扩展名(如 .pdf),下方立即显示对应的 MIME 类型(application/pdf)
  2. 2点击「文件头嗅探」标签,上传一个文件(≤10 MB),工具自动读取前 256 字节并与已知魔数匹配
  3. 3匹配成功时,结果区高亮显示文件实际 MIME 类型;若魔数不匹配,输出「未知格式」并列出最接近的候选类型
  4. 4点击结果行右侧「复制」按钮,将 MIME 类型字符串复制到剪贴板,用于配置服务器或代码

输入输出示例

输入输出说明
.htmltext/html常规:最常用的网页扩展名,验证基础映射是否准确
.jpgimage/jpeg常规:常见图片格式,验证扩展名与MIME标准对应
.jsonapplication/json常规:API开发高频扩展名,验证应用类MIME
.svgimage/svg+xml边界:含加号的MIME类型,验证工具是否正确处理特殊字符
.woff2font/woff2边界:Web字体格式,验证较新扩展名是否被收录
.abc未识别边界:不存在的扩展名,验证工具对未知值的处理方式
html(无点号)text/html易错:用户常省略点号,验证工具是否自动补全或报错
.TXTtext/plain易错:大写扩展名,验证工具是否大小写不敏感

常见错误对照

1.用扩展名反查时带了点号

✗ 错误.pdf
✓ 修复pdf

MIME 类型查询的扩展名字段只接受纯扩展名字符串,前面的点号属于文件名格式,不是扩展名本身,加点多此一举且可能被工具当作非法字符过滤。

2.扩展名大小写混用,以为工具不识别

✗ 错误JPG
✓ 修复jpg

虽然大多数 MIME 映射表不区分大小写,但部分自定义映射或旧版系统只认小写。工具内部统一转小写处理,输入大写不会报错,但结果可能匹配不到。

3.用文件头嗅探时只给了文件名,没给文件内容

✗ 错误上传一个名为 image.png 但实际内容是文本的文件
✓ 修复上传文件内容(二进制或十六进制片段)

文件头嗅探依赖文件开头的魔数(magic number),不是文件名。只传文件名等于让工具猜,结果永远是 text/plain 或未知。

4.把 MIME 类型和文件扩展名搞反了

✗ 错误在扩展名输入框里填 application/json
✓ 修复json

工具的两个输入方向是单向的:扩展名→MIME 或 MIME→扩展名。把 MIME 字符串填到扩展名框里,工具会把它当成一个不存在的扩展名去查,返回空。

5.以为所有 MIME 类型都对应唯一扩展名

✗ 错误输入 application/octet-stream,期望只返回 exe
✓ 修复application/octet-stream 对应 exe、bin、dll 等几十种扩展名

MIME 类型和扩展名是多对多关系。application/octet-stream 是通用二进制流类型,几乎所有未知二进制文件都用它,工具会列出所有关联扩展名。

6.用文件头嗅探时只复制了文件的前 2 个字节

✗ 错误只传 0x8950(PNG 前两个字节)
✓ 修复至少传前 8 个字节,如 0x89504E470D0A1A0A

大部分文件格式的魔数长度在 4~8 字节,仅靠前 2 字节无法唯一确定类型(比如 PNG 和 JPEG 前两个字节都是 0xFF 开头)。

7.把 HTTP Content-Type 里的 charset 参数也当成 MIME 类型输入

✗ 错误text/html; charset=utf-8
✓ 修复text/html

MIME 类型本体不含参数,分号后的 charset 是 HTTP 协议扩展。工具只解析分号前部分,带参数输入会导致匹配失败。

第三节

工作原理

How It Works

核心公式

MIME = lookup(ext, magic_bytes)

变量说明

  • ext文件扩展名,如 .pdf
  • magic_bytes文件头部若干字节,用于嗅探

示例

上传一个文件 test.pdf,扩展名 ext = .pdf,读取前 4 字节为 25 50 44 46(即 %PDF)。查询 MIME 表:.pdf → application/pdf;同时 magic_bytes 匹配 PDF 签名,确认无误。输出 MIME = application/pdf。

输入文件名 / 扩展名本地查表扩展名 → MIME映射表(浏览器内)输出MIME 类型文件头嗅探本地校验文件头 → MIME输出MIME 类型
用户输入 本地处理 输出结果

隐私保证所有计算与处理均在你的浏览器本地完成,输入数据不会上传服务器,也不会保存或共享。

选择 打开 +新窗口 esc关闭