RUNS IN YOUR BROWSER

Ogg Inspector — Read the Structure of OGG, OPUS and OGA Files in Your Browser

Choose an .ogg, .oga or .opus file and the inspector walks every Ogg page in order, reassembles packets across page boundaries and identifies each logical stream from the magic bytes of its first packet: Opus, Vorbis, FLAC, Theora, or an unknown stream shown with a hex preview instead of a guess. It decodes the Opus header (OpusHead: version, channels, pre-skip, input sample rate, output gain, channel mapping) and the Vorbis identification header (channels, sample rate, minimum, nominal and maximum bitrate), reads the FLAC and Theora identification fields, and lets you read Ogg Vorbis comment tags: the vendor string and every comment in file order. Embedded cover art (METADATA_BLOCK_PICTURE) is described by picture type, MIME type and declared size, but never shown. Per-stream duration comes from the last granule position, and chained or multiplexed files are reported link by link. Page CRC-32 values can be recomputed and marked match or mismatch. A JSON report can be downloaded with the layout, chain links, each stream's identification header, comments and duration, plus the page, CRC-mismatch and resync counts; the per-page list itself stays in the on-screen page table and is not part of the download. This tool reads Ogg page and header structure only: it never decodes or plays audio, and comment tags are self-declared by whoever wrote the file.

File types: .ogg, .oga, .opusProcessing: This browser

or drop a file here

✓ Stays on this deviceMaximum size: 256 MB
HOW TO USE IT

How to use Ogg Inspector — Read the Structure of OGG, OPUS and OGA Files in Your Browser

01

Add your file

Choose or drop a .ogg, .oga, or .opus file. You can paste the contents instead.

02

Let it read the file

The file is read and parsed in this browser — nothing is uploaded.

03

Check the result

Look over what came back, then copy it, download it, or move on.

Common questions

How do I open an OGG file in the browser to see what is inside it?

Drop the .ogg, .oga or .opus file onto the tool and it lists every page, each logical stream, the decoded identification header, the comment tags and a derived duration. Nothing plays; you get a structural readout. Start with the Streams table: it names the codec detected from the first packet's magic bytes, the channel count, the sample rate and whether the stream ended with an end-of-stream page.

How can I view Opus file metadata such as the title, artist and encoder?

Open the Comments table: it shows the vendor (encoder) string first, then every OpusTags or Vorbis comment in file order with the field name as written, an upper-cased copy and the value. Each row is marked self-declared and with its encoding status, so a value that is not valid UTF-8 is flagged with the failing byte offset rather than shown as clean text. A cover-art comment is summarised by picture type, MIME and size only.

Is my OGG file uploaded to a server when I inspect it?

No. The file is read by script inside this browser tab and the inspection itself makes no network request, so the audio, tags and page list never leave your device. Nothing is written to local storage or cookies either: reload the page and the tool is empty again, which also means a result you want to keep must be saved with the JSON download.

How do I check an OGG or Opus file on a Mac or iPhone without installing software?

Open this page in Safari, Chrome or Firefox and pick the file; on iPhone or iPad choose it from the Files app. No player or codec pack is needed because nothing is decoded. The whole file is read into memory, so a file close to the 256 MiB ceiling is more comfortable on a desktop than on an older phone.

Why does my OGG file show ‘not an Ogg file’ or ‘no capture pattern’?

‘Not an Ogg file’ means the bytes ‘OggS’ appear nowhere in it, which usually means another format was renamed, such as an MP4, M4A, MP3 or WebM file. ‘No capture pattern’ means ‘OggS’ exists but not within the first 64 KiB, or a later gap between pages is larger than 64 KiB. The type is always judged from the bytes, never from the extension.

What does ‘file ends inside a page’ mean when my OGG file won't open fully?

It means the last page header promises more bytes than the file contains, typically after an interrupted download or copy. Every page before that point is still listed with its streams and tags, and the warning gives the byte offset where reading stopped. The tool does not repair the file; comparing that offset with the expected file size tells you how much is missing.

What is the maximum OGG file size and number of streams the inspector can read?

Files up to 268,435,456 bytes (256 MiB) are accepted, and reading stops beyond 64 logical streams or at a packet spread over more than 512 pages. Up to 250,000 page records are kept; past that, pages are still counted and checked but not listed. The page table itself shows 500 rows at a time, and each comment header lists up to 1,024 comments.

How do I see later pages of a long Ogg file when the page table stops at 500 rows?

Type a page index into the ‘First page to show’ option and the table re-renders the 500 pages starting there. The two page-table stats show which range is currently visible. This keeps files with tens of thousands of pages responsive, since payload bytes are never put on the page; only header fields such as offset, granule position, sequence number and CRC are shown.

Does an Ogg CRC mismatch mean the file was tampered with or has a virus?

No. An Ogg CRC is a checksum against accidental change, so a mismatch only says that page's bytes differ from the value written in its header. Causes include tag editors that forgot to update the checksum, transfer errors or buggy muxers. The table lists both values with a ‘structural check only’ note, and this tool gives no malware or safety verdict either way.

Does a COPYRIGHT or LICENSE tag in an OGG file prove I may share it?

No. COPYRIGHT, LICENSE and ORGANIZATION are plain text that anyone can type into a file, and the inspector shows them labelled self-declared without checking them against anything. They can point you to a rights holder or licence to look up, but whether you may redistribute the audio has to be confirmed with that source, not with the tag.

How accurate is the OGG file duration shown, and why is it sometimes blank?

Duration is computed from the last granule position: for Opus, (granule − pre-skip) ÷ 48,000; for Vorbis and FLAC, granule ÷ declared sample rate. A stream that never reached an end-of-stream page is flagged as not terminated. Theora and unknown streams get no duration, and a stream that does not start at granule 0, such as a cut recording, includes that starting offset.

What is the difference between .ogg, .oga and .opus files?

All three use the same Ogg page container; the extension only hints at the content. .opus normally holds Opus audio, .oga is audio-only Ogg, and .ogg is used for Vorbis and much else. The inspector ignores the extension and types each stream from its first packet, so an .opus file that really holds Vorbis is reported as Vorbis.