A browser-based ISO BMFF box structure analyzer with tree visualization, hex/binary viewer, DRM decoding, and spec references aligned to ISO 14496-12:2026.
Zero dependencies. Pure HTML/CSS/JS. Works entirely in your browser — no files are uploaded anywhere.
- Recursive parsing of ISO BMFF / CMAF / fMP4 containers
- 100+ box types recognized with full formal names
- Category icons (📦 Container, 🧩 Fragment, 🔒 DRM, 🎬 Sample, 📑 Index, ⚡ Event)
- Proportional size bars for quick visual comparison
- Tree connector lines showing parent-child relationships
- Search/filter bar to find specific box types instantly
- Expand All / Collapse All controls
- Dual-mode viewer: toggle between Hex and Binary representations
- ASCII column for readable string identification
- Column headers (OFFSET | HEX BYTES | ASCII) for clarity
- Lazy-rendered for performance on large files
- PSSH box parsing with DRM system identification
- Widevine init data decoding (protobuf: key IDs, provider, content ID, algorithm)
- PlayReady object decoding (XML records, license URL, KID extraction)
- tenc / senc / schm encryption box parsing
- Supports: Widevine, PlayReady, FairPlay, ClearKey, Nagra, Marlin, PrimeTime
Every box shows its ISO/IEC specification reference when expanded:
- ISO 14496-12:2026 — ISOBMFF (8th Edition, latest)
- ISO 23001-7:2023 — Common Encryption (CENC)
- ISO 14496-15:2022 — AVC/HEVC carriage in ISOBMFF
- ISO 14496-14:2020 — MP4 file format
- ISO 23008-12:2022 — HEIF/AVIF
- ISO 23000-19:2024 — CMAF
- Plus ETSI TS 102 366 (Dolby), RFC 7845 (Opus), 3GPP TS 26.244, and more
- File type, size, total box count, major/compatible brands
- Track detection with codec, resolution, sample rate, language
- Auto-badges: Fragmented, Init Segment, Media Segment, DRM Protected, Indexed
- Copy results as formatted text
- Export as JSON with full box hierarchy and parsed details
- Dark / Light theme toggle with persistence
- Drag & drop or URL loading (with CORS error guidance)
| Extension | Format |
|---|---|
.mp4 |
MPEG-4 Part 14 |
.m4s |
CMAF / fMP4 media segment |
.m4a |
MPEG-4 Audio |
.m4v |
MPEG-4 Video |
.cmaf |
CMAF segment |
.fmp4 |
Fragmented MP4 |
.m4f |
CMAF fragment |
.ismv |
Smooth Streaming video |
.isma |
Smooth Streaming audio |
Click to expand full list (100+ boxes)
File Type: ftyp, styp
Movie Structure: moov, mvhd, trak, tkhd, edts, elst, mdia, mdhd, hdlr, minf, vmhd, smhd, hmhd, nmhd, sthd, dinf, dref
Sample Table: stbl, stsd, stts, ctts, stsc, stsz, stz2, stco, co64, stss, sdtp, sgpd, sbgp, csgp, cslg, subs, stdp, padb
Fragmentation: mvex, trex, mehd, moof, mfhd, traf, tfhd, tfdt, trun
Indexing: sidx, ssix, mfra, mfro, tfra, pdin, leva
DRM / Protection: pssh, sinf, frma, schm, schi, tenc, saiz, saio, senc
Video Codecs: avc1, avc3, hev1, hvc1, vp08, vp09, av01, mp4v, avcC, hvcC, av1C, vpcC
Audio Codecs: mp4a, ac-3, ec-3, ac-4, Opus, fLaC, dtsl, dtsh, dtse, dtsx, esds, dac3, dec3, dac4, dOps, dfLa
Subtitle/Text: stpp, wvtt, tx3g, vttC, vlab, mime
Media Properties: btrt, pasp, colr, clap, ccst
Events: emsg, prft
Data: mdat, free, skip
Metadata: udta, meta, ilst, cprt, kind
HEIF/AVIF: iloc, iinf, infe, pitm, ipma, iprp, ispe, pixi, auxC, grpl
- Open
index.htmlin any modern browser - Drag & drop an MP4/M4S/CMAF file onto the drop zone, or
- Enter a URL and click Load URL
- Explore the box tree — click any box to expand its details
- Use the search bar to filter boxes by name
- Toggle Hex/Binary viewer inside any box's detail panel
- HTML5 — semantic markup
- CSS3 — CSS variables, glass morphism, dark/light themes, responsive design
- Vanilla JavaScript — zero frameworks, zero dependencies, zero build step
- Fonts — Inter + JetBrains Mono (Google Fonts)
MIT