OGG & OPUS Validator
Drop any .ogg, .oga, or .opus file to instantly check its structure. Walks every OggS page β verifying capture patterns, page sequence numbers, and CRC checksums. Detects the codec (Vorbis, Opus, Speex, or FLAC), reports sample rate, channels, bitrate, and duration. Also reads embedded Vorbis comment tags. Nothing leaves your browser.
OGG / OPUS File
Drop a .ogg, .oga, or .opus file here, or
Supports .ogg / .oga / .opus files up to 200 MB
β
Wrong file type β only .ogg / .oga / .opus files are supported. You dropped a file.
Validation Errors
Warnings
β Valid OGG
Vorbis Comment Tags
How It Works
1
Drop your OGG fileDrag it onto the drop zone or click "browse" to select it. Accepts
.ogg, .oga, and .opus extensions.2
OGG page & bitstream analysisThe validator walks every
OggS page, verifying capture patterns, page header flags, segment tables, sequence number continuity, and CRC-32 checksums. It reassembles packets from the first logical bitstream to read the codec identification and comment headers.3
Review the reportGet a pass/fail result plus full stats: codec, sample rate, channels, bitrate, encoder vendor string, duration, total page count, and all Vorbis comment tags.
What Gets Validated
- OggS capture pattern β every page must begin with the 4-byte magic
OggS. A missing or corrupt capture pattern means the bitstream has lost sync. - Page structure version β the stream structure version byte must be
0x00. Any other value is a spec violation. - Page sequence numbers β each logical bitstream must have monotonically increasing page sequence numbers. Out-of-order or missing sequence numbers indicate dropped or corrupt pages.
- CRC-32 checksum β every OGG page carries a CRC-32 (using the Ogg polynomial) over the entire page header and body. The validator recomputes this for every page and flags any mismatch.
- Codec identification β detected from the first packet of the first logical bitstream:
vorbis(Vorbis I),OpusHead(Opus),Speex(Speex), or\x7fFLAC(FLAC-in-OGG). The codec-specific identification header is then fully parsed. - Vorbis identification header β verifies codec version (must be 0), reads channel count, sample rate, nominal / min / max bitrate, and blocksize exponents.
- Opus identification header β reads channel count, input sample rate, output gain, pre-skip, and channel mapping family.
- Duration β estimated from the last page's granule position. For Vorbis/Speex this is
granule / sample_rate; for Opus it accounts for the pre-skip offset at 48 kHz. - Vorbis comment tags β reads the second header packet (comment header) for both Vorbis and Opus. Extracts the encoder vendor string and all
KEY=valueuser comment fields: title, artist, album, date, genre, track number, and more.
π Privacy & Security
All validation is performed locally using the Web File API and JavaScript ArrayBuffer. Your audio file is never sent to a server. Suitable for private recordings, unreleased masters, or any sensitive audio content.
