PNG · JPEG · GIF · PDF · ZIP · GZIP · WebP · MP4 · BMP · WAV · SQLite · Parquet 等
Hex 二进制查看器 把任意文件拖进浏览器,立刻看到「偏移 / 十六进制 / ASCII」三栏视图,自动从前几个字节识别文件类型(魔数),并对常见格式(PNG / JPEG / GIF / PDF / ZIP / GZIP / WebP / MP4 / BMP / WAV)解析出结构树——点结构节点就在 hex 视图里高亮对应字节范围。整个工具纯前端运行,文件不出本地浏览器。
「这是什么文件」「PNG 里这段 tEXt 写了啥」「ZIP 中央目录在哪」——这些问题在没有专门桌面工具的机器上很麻烦:装 010 Editor / HxD 要授权和安装包,跑 xxd | less 又看不到结构,写脚本解析格式更是大炮打蚊子。本工具就是一个「打开浏览器即用」的最小闭环:拖进文件 → 看魔数 → 看结构 → 找字节,三件事都在一屏内完成。
0x1A2B 这样的地址对照· 占位,整列与 HEX 列同步高亮点击左侧结构树的任意节点,hex 视图会自动滚动到对应位置并把范围内的字节标成紫底白字,配合右侧详情面板的「字段名 → 值」键值对(如 PNG IHDR 的「尺寸 / 位深度 / 颜色类型」、ZIP 中央目录条目的「文件名 / 压缩方式 / 大小」),快速建立「字节流 ↔ 语义」的对应。
| 格式 | 结构解析 | 关键字段 |
|---|---|---|
| PNG | ✓ chunk 列表 | IHDR 尺寸/位深度/颜色类型/交错;tEXt 关键字+文本;pHYs DPI;gAMA |
| JPEG | ✓ 段表 | SOFx 尺寸/通道;APP0 JFIF 版本;APP1 EXIF/XMP 标识;COM 注释;SOS 扫描数据范围 |
| GIF | ✓ LSD + 帧 | 屏幕尺寸;全局色表;每帧位置/尺寸/局部色表;扩展块(GCE/Comment/Application) |
| △ header + xref | 版本号;startxref 偏移;%%EOF;前若干 <n> <m> obj 头(不展开 stream) | |
| ZIP | ✓ 中央目录 | EOCD;条目数;每条文件名/压缩方式/原始大小/压缩后大小/本地头偏移 |
| GZIP | ✓ header + trailer | 压缩方法;MTIME;原始文件名;CRC32;ISIZE |
| BMP | ✓ | 文件大小;DIB 头尺寸/位深度;像素数据起点 |
| WebP / WAV / AVI | ✓ RIFF chunks | WebP VP8/VP8L/VP8X 尺寸;WAV 采样率/位深度/通道;其它 chunk 大小列表 |
| MP4 / HEIF | ✓ ISOBMFF box 树 | ftyp major brand;moov/trak/mdia 容器展开 4 层 |
| PE (EXE/DLL) | △ | DOS 头;PE 偏移;机器类型 (i386/AMD64/ARM64) |
不在表里的格式(7Z / RAR / ELF / Mach-O / FLAC / SQLite / Parquet 等)只识别魔数,不展开结构——但 hex 视图依然完全可用。
文件用 File.arrayBuffer() 读到 Uint8Array 后就地在浏览器内存里解析,没有任何网络请求。如果你打开的是私钥、证书、固件镜像、生产数据库快照,它们不会离开你的浏览器。本工具的代码是开源静态资源,可以把整页 HTML/JS 离线保存后断网使用。
建议 ≤ 50 MB 体验最佳,硬上限 200 MB。整个文件会被读进 Uint8Array 内存里渲染,浏览器 tab 内存通常在 2 GB 左右,但 hex 视图本身用了虚拟滚动,行数多不会卡——卡的是搜索(朴素全扫)和初次加载(File→ArrayBuffer)。超大文件建议先用 dd 切片再看局部。
结构化解析:PNG(chunk 列表 + IHDR 尺寸/位深度/颜色类型)、JPEG(段表 + SOFx 尺寸 + APP1 EXIF/XMP 标识)、GIF(LSD + 帧列表)、PDF(header + xref + 前若干对象)、ZIP(中央目录条目 + 压缩方式 + 大小)、GZIP(header + trailer CRC/ISIZE)、BMP、WebP / WAV / AVI(RIFF)、MP4 / HEIF(ISOBMFF box 树)、PE(MZ + COFF)。仅识别格式:7Z、RAR、TAR、ELF、Mach-O、FLAC、MP3、OGG、SQLite、Parquet、WOFF/TTF/OTF、BZIP2、ZSTD。其它格式只展示 hex,不展示结构树。
PDF 是「按字节流追加 + xref 索引」的格式,完整解析需要按 xref 偏移逐个读取间接对象、解码 stream(FlateDecode / LZW / ASCII85),还得处理增量更新。这套要么上 pdf.js(>1MB 包体)、要么自己写一个完整解析器,对「看结构」目标过重。本工具的策略是:header / startxref / %%EOF 精确解析,对象索引只扫前 2MB 估个数 + 列出前 20 个 <n> <m> obj 头,足够回答"是不是有效 PDF / 大概多少对象 / 第一个对象在哪",要看 stream 内容请用 PDF 提取文字 / PDF 页面编辑工具。
不会。 整个工具是纯静态页面,文件用 File.arrayBuffer() 读到内存里就地解析,没有任何 fetch/XHR。首次加载完成后断网也能继续用。如果你打开的是私钥、证书、内部固件,可以放心拖——它们不会离开你的浏览器。
跳转输入框接受三种格式:0x1A(十六进制)、26(十进制)、纯字母数字含字母的也按十六进制(如 1AF);按 Enter 跳过去并高亮该字节。搜索有两种模式:ASCII 输入文本(如 %PDF),HEX 输入十六进制字节(如 89 50 4E 47 或 89504E47,空格/逗号自动忽略);找到后按 ▶ 找下一个,按 ◀ 找上一个,未找到时显示「未找到」。
绿色:签名 / Header / Trailer(魔数、文件结束标记)。紫色:关键 chunk(PNG 的 IHDR/IDAT/IEND、JPEG 的 SOFx/SOS、PDF 对象、ZIP 中央目录条目)。橙色:辅助/可选 chunk(PNG 小写开头的 tEXt/pHYs/gAMA、JPEG 的 APPn 应用段)。灰色:原始数据块(像素数据、压缩流)。红色:解析时遇到的非法/截断字节。点击节点会在 hex 视图里高亮对应字节范围。
本工具不是替代品,是「在线快速查看」的补充:装机器、装客户的 Mac/Windows/Linux 都能用,URL 一发就能看,不用解释怎么装 010 Editor 模板(.bt 文件)。但不能编辑、不能写回、不能跑脚本——要批量处理或写自定义模板请用 010 Editor / Kaitai Struct。日常 80% 的「这文件是啥 / 看下结构 / 找一段字节」用本工具就够。