文件头识别(magic bytes)
网络所有处理都在浏览器本地完成,数据不上传服务器
输入
把文件拖到这里可直接载入
输出
把文件开头的几个字节粘进来,判断它到底是什么格式。这条路比扩展名可靠:扩展名是文件名的一部分,谁都能改,而文件头是内容的一部分 —— 拿到一个打不开的 photo.jpg、或者一段不知是什么的二进制数据时,靠的就是它。收录近 60 种常见格式,覆盖图片、文档、压缩包、音视频、可执行文件与字体。同一个签名对应多个格式时会全部列出(ZIP 容器既可能是 docx,也可能是 apk 或 jar),而不是替你挑一个。反过来也可以:输入 png 或 image/png,列出它的签名与偏移。
功能
- 收录近 60 种常见格式:图片、文档、压缩包、音视频、可执行文件、字体
- 只看字节不看文件名 —— 扩展名可以随便改,文件头不行
- 一个签名命中多个格式时全部列出,并按匹配的具体程度排序
- 带偏移的签名也认:ISO 9660 在 32 KB 处、MP4 的 ftyp 在偏移 4
- 反向查询:输入 png、PNG 或 image/png,列出它的签名与偏移
- 同时给出 ASCII 视图,文本形态的文件头(%PDF、{\rtf、<?xml)一眼能认
- 十六进制输入容错:空格、冒号、逗号分隔与 0x / \x 前缀都认
使用方法
- 把文件开头的字节粘进来(十六进制或文本形态都可以)
- 识别结果实时出现,可能有多个候选
- 想看某个格式的签名时,直接输入扩展名或 MIME
- 需要时切换「输入是」选项,手动指定把输入当字节还是当格式名
常见问题
- 为什么 ZIP 会匹配出好几个格式?
- 因为 docx、xlsx、pptx、apk、jar、epub 在文件层面都是 ZIP 容器 —— 它们的区别在于压缩包内部有哪些文件,光看开头几个字节分不出来。工具会把 ZIP 与这些可能的形式一起列出,因为「这是一个 ZIP 容器」本身就是有用的信息。
- 文件头和扩展名哪个可信?
- 文件头。扩展名只是文件名的一部分,改一个字母就能把 exe 说成 jpg(这是钓鱼邮件最常见的做法之一)。文件头是内容本身的结构,要伪造得连内容一起造。不过它也不是绝对的 —— 有些格式的容器是通用的(见上一个问题),所以工具会列出所有可能。
- 为什么只显示前 256 字节?
- 因为文件头就在最开始那几十个字节里,而你可能是把一整个文件粘进来的。显示全部会让页面变得很慢,而识别仍然使用完整的输入 —— ISO 9660 的签名在 32 KB 偏移处,截断只影响显示。
- 能识别出文件的真实格式之后做转换吗?
- 这个工具只做识别。需要处理图片可以看图片转 Base64 或二维码工具,需要处理文本可以看编码类的工具。识别是第一步 —— 知道它是什么,才知道下一步该用哪个工具。
相关工具
种子转 Magnet
网络拖入 .torrent 文件,提取 info 段的原始 infohash 并生成可直接粘贴的 magnet 链接,同时列出文件大小、tracker 与创建信息。文件不上传。
MIME 类型
网络MIME 类型与扩展名双向查询:输入 js 得到 text/javascript,输入 image/svg+xml 得到默认扩展名。附数据来源与覆盖范围,全部本地完成。
Hex 转换
编码十六进制与文本互转:支持 0x、\x、空格、冒号等常见写法,中文按 UTF-8 逐字节还原,并给出字节数。全部在浏览器本地完成,内容不上传。
Base64 编解码
编码把文本转成 Base64,或把 Base64 还原成文本,中文与 emoji 都按 UTF-8 正确处理。全部在浏览器本地完成,内容不上传。
URL 解析
网络在线 URL 解析:拆出协议、主机、端口、路径、查询参数与锚点,参数逐个解码并与原始值对照,缺协议自动补 https://。全部在浏览器本地完成。
UA 解析
网络在线 User-Agent 解析:识别浏览器、版本、操作系统、设备类型与渲染引擎,并列出命中的匹配规则。结果基于模式匹配,仅供参考。全部在浏览器本地完成。