A command line utility for joining MP3 files.

MP3Cat is a simple command line utility for concatenating MP3 files without re-encoding.

Pre-built binaries are hosted on Github.


Run mp3cat --help to view the command line help:

Usage: mp3cat [files]

  This tool concatenates MP3 files without re-encoding.

  [files]                 List of files to merge.

  -d, --dir <path>        Directory of files to merge.
  -o, --out <path>        Output filepath.

  -f, --force             Overwrite an existing output file.
  -h, --help              Display this help text and exit.
  -q, --quiet             Run in quiet mode.
  -v, --version           Display the version number.

You can specify the input as a list of filenames:

$ mp3cat one.mp3 two.mp3 three.mp3

On a unixy system, you can specify the input filenames via globbing:

$ mp3cat *.mp3

Alternatively, you can specify an entire directory of .mp3 files to concatenate:

$ mp3cat --dir /path/to/directory

The output filename defaults to output.mp3 but you can specify a custom filename using the -o/--out option:

$ mp3cat *.mp3 -o joined.mp3

This utility works most reliably with constant-bit-rate input — it will add a VBR header if it detects multiple bit-rates in the input files but variable-bit-rate MP3s have patchy player support and should generally be avoided if at all possible.

Source Code

MP3Cat is written in Go. If you have a Go compiler installed you can run:

$ go install

This will download, compile, and install the latest version of the application to your $GOPATH/bin directory.

You can find the source files on Github.


This application is in maintenance mode — it's intentionally simple and I'm not planning to add any extra features. If you need something more complex check out mp3binder which is an active fork with additional functionality.


This work has been placed in the public domain.