Scroll to navigation

MP3CHECK(1) General Commands Manual MP3CHECK(1)


mp3check - check mp3 files for consistency


mp3check [-03ABCEFGIKLMNPRSTWYZabcdefghlmopqrst] [--accept=LIST] [--alt-color] [--anomaly-check] [--any-bitrate] [--any-crc] [--any-emphasis] [--any-layer] [--any-mode] [--any-sampling] [--any-version] [--ascii-only] [--color] [--compact-list] [--cut-junk-end] [--cut-junk-start] [--cut-tag-end] [--dummy] [--dump-tag] [--dump-header] [--dump-tag] [--edit-frame-byte=P] [--error-check] [--error-check] [--filelist=FILE] [--fix-crc] [--fix-headers] [--help] [--ign-bitrate-sw] [--ign-constant-sw] [--ign-crc-error] [--ign-junk-end] [--ign-junk-start] [--ign-non-ampeg] [--ign-resync] [--ign-tag128] [--ign-truncated] [--list] [--log-file=FILE] [--max-errors=NUM] [--only-mp3] [--print-files] [--progress] [--quiet] [--raw-elem-sep=NUM] [--raw-line-sep=NUM] [--raw-list] [--recursive] [--reject=LIST] [--show-valid] [--single-line] [--version] [--xdev] [--] [FILES...]


This manual page documents briefly the mp3check command. This manual page was written for the Debian GNU/Linux distribution because the original program does not have a manual page.

mp3check is a program that checks mp3 files for consistency and prints several errors and warnings. It lists stream attributes (color). Layer 1,2,3, mpeg1.0+2.0 are currently supported. CRC check for layer 3. mp3check is very useful for incomplete mp3 detection as it can be used to scan through your mp3 collection and find all mp3s that aren't perfect. Good for use with Napster and other bulk downloading of mp3s.


These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). Options can be specified in any order and mixed with files. Option scanning stops after a double dash (--) to allow files beginning with a dash. A summary of options is included below.

list parameters by examining the first valid header and size
list parameters of one file per line in a very compact format: version (l=1.0, L=2.0), layer, sampling frequency [kHz] (44=44.1), bitrate [kbit/s], mode (js=joint stereo, st=stereo, sc=single channel, dc=dual channel), emphasis (n=none, 5=50/15 usecs, J=CCITT J.17), COY (has [C]rc, [O]riginal, cop[Y]right), length [min:sec], filename (poss. truncated)
check crc and headers for consistency and print several error messages
with -e: set maximum number of errors to print per file (0==infinity) (range=[0..])
report all differences from these parameters: layer 3, 44.1kHz, 128kbps, joint stereo, no emphasis, has crc
dump all possible header with sync=0xfff
dump all possible tags of known version
list parameters in raw output format for use with external programs
separate elements in one line by char NUM (numerical ASCII code) (default="0x09")
separate lines by char NUM (numerical ASCII code) (default="0x0a")
modify a single byte of a specific frame at a specific offset; B has the format 'frame,offset,byteval', (use 0xff for hex or 255 for dec or 0377 for octal); this mode operates on all given files and is useful for your own experiment with broken streams or while testing this toll ;-)
remove junk before first frame
remove junk after last frame
fix invalid headers (prevent constant parameter switching), implies -e, use with care
fix crc (set crc to the calculated one), implies -e, use with care (note: it is not possible to add crc to files which have been created without crc)
ignore 128 byte TAG after last frame
ignore invalid frame header
ignore junk after last frame
ignore crc errors
ignore non audio mpeg streams
ignore truncated last frames
ignore junk before first frame
ignore bitrate switching and enable VBR support
ignore switching of constant parameters, such as sampling frequency
print the message 'valid audio mpeg stream' for all files which error free (after ignoring errors)
ignore crc anomalies
ignore mode anomalies
ignore layer anomalies
ignore bitrate anomalies
ignore version anomalies
ignore sampling frequency anomalies
ignore emphasis anomalies
process any given directories recursively (the default is to ignore all directories specified on the command line)
process all files specified in FILE (one filename per line) in addition to the command line
process only files with filename extensions specified by comma separated LIST
do not process files with a filename extension specified by comma separated LIST
-3 --only-mp3
same as --accept mp3,MP3
do not descend into other filesystems when recursing directories (doesn't work in Cygwin environment)
just print all filenames without processing them, then exit
print one line per file and message instead of splitting into several lines
suppress the summary printed below all messages if multiple files are given
print names of erroneous files to FILE, one per line
quiet mode, hide messages about directories, non-regular or non-existing files
colorize output with ANSI sequences
colorize: do not use bold ANSI sequences
generally all unprintable characters in filenames etc are replaced by '!' (ASCII 0-31) and '?' (ASCII 127-159), with this option present the range ASCII 160-255 (which is usually printable: e.g. ISO-8859) is also printed as '?'
show progress information on stderr
-0 --dummy
do not write/modify anything other than the logfile
print this help message, then exit successfully
print version, then exit successfully


This original manual page was written by Klaus Kettner <>, for the Debian GNU/Linux system. The current version of this manpage is maintained by Johannes Overmann <>, the author of mp3check.

March 1, 2001