Online audio debugging tools for developers
Inspect audio files without uploading them anywhere: format detection, container & codec header parsing with a linked hex view, waveform / spectrum / level analysis, sample files in 10+ formats, and compression powered by ffmpeg.wasm.
Audio analyzer
Drop one or more files — they are parsed and decoded locally, then you can switch between them with the chips below.
Files to compress
Output settings
Demo files in every format
Small synthetic samples you can download or analyze right here — handy for testing parsers, players and codecs. Synthesized locally (macOS TTS + ffmpeg), CC0 licensed.
FAQ
Short answers for developers. If something is unclear, the source is a single HTML file — easy to read and fork.
Are my audio files uploaded to a server?
No. Parsing, decoding, visualization and compression all run locally in your browser. The only network request is downloading the optional ffmpeg.wasm engine (~31 MB) from a public CDN when you first use the compressor. After that it is cached by the browser.
Which formats can be analyzed?
Header parsing covers WAV/RIFF, AIFF/AIFC, MP3 (ID3v1/v2 + MPEG frames + Xing/LAME), FLAC, Ogg (Vorbis, Opus, embedded FLAC), MP4/M4A (AAC, ALAC, Opus, FLAC boxes), Matroska/WebM, ADTS AAC, AMR, WMA/ASF, Sun AU and CAF. Waveform and level statistics additionally need the browser to decode the file — Chrome/Edge/Firefox handle most formats, Safari cannot decode Ogg/Opus and those files fall back to header-only mode.
Why does detection trust magic bytes instead of the file extension?
Extensions are optional labels — real pipelines mislabel files all the time (try the fake-wav demo, an MP3 renamed to .wav). Audio Inspector reads the first bytes of the file and detects the actual container, then reports the mismatch as a warning.
How is bitrate computed?
When the header declares it (CBR MP3 frame headers, Xing VBR average, MP4 avgBitrate, ASF max bitrate), that value is shown. Otherwise it is computed as file size × 8 ÷ decoded duration and labeled as computed.
Why is my Opus file 48 kHz when the source was 44.1 kHz?
Opus always decodes to 48 kHz internally; the original rate is stored as metadata in OpusHead. The overview shows the container value and the decoded value side by side.
Can I compress multiple files at once?
Yes — drop several files, open the Compress tab, uncheck anything you want to skip, and press Compress. Files are transcoded sequentially by the ffmpeg.wasm engine; each result offers download, A/B playback and one-click re-analysis.