Split single-file lossless albums into tagged tracks, on the Mac.
CueSplit opens a CD image rip (a cue sheet plus one FLAC, APE, WavPack, TTA, WAV or AIFF file for the whole album) and turns it into one
tagged file per track: FLAC, Apple Lossless or AAC. Use the Mac app to check the names and tags, listen, and split,
or cuesplit on the command line for scripts and batches.
| Homebrew | Or download from Releases | |
|---|---|---|
| CueSplit, the Mac app | brew install galaco/tap/cuesplit |
CueSplit-<version>.dmg: open it and drag CueSplit to Applications |
| cuesplit, the command-line tool | brew install galaco/tap/cuesplit-cli |
cuesplit-<version>-macos.zip: unzip it and put cuesplit on your PATH |
Both are free, run on macOS 14 or later on Apple silicon and Intel Macs, and are signed and notarized by Apple.
brew upgrade keeps Homebrew installs up to date; downloads from Releases don't update themselves. Homebrew
also installs the command-line tool's man page (man cuesplit) and completions for zsh, bash and fish.
- Any cue sheet: reads cue sheets in Unicode, Japanese (Shift-JIS, EUC-JP), Chinese (GB18030, Big5), Korean, Cyrillic and Western encodings, and detects which one a sheet uses. If names still look garbled, switch encodings and see the result straight away.
- Keeps your metadata: tags come from the cue sheet and the image file, including foobar2000-style per-track tags and the cover art.
- Edit before you split: change any tag for the whole album or the selected tracks, replace the cover art, and listen to any track.
- Checks its work: source files are checked against their MD5s, and every saved track is verified against the original audio.
- Add to Music: add the album, or a few tracks, to your Music library as Apple Lossless or AAC.
Drop a cue sheet on the window (or a FLAC, APE, WavPack or TTA file with an embedded cue sheet), check the track list, and click Split….
An optional one-time purchase that adds:
- Watched folders: add an album to a folder you choose, and CueSplit splits it, or adds it to Music, by itself.
- AI agents: agents such as Claude can open albums, fix tags and save tracks through the Model Context Protocol (MCP), only in folders you choose.
- The menu bar: CueSplit keeps running in the menu bar after you close its window, and can open at login.
Splitting stays free. Buy it in CueSplit > Settings > Enthusiast, which leads to galaco.me for copies from here and Homebrew.
cuesplit album.cue # FLAC tracks in "Artist - Album" next to the cue sheet
cuesplit album.cue -o ~/Music --alac # Apple Lossless, in ~/Music/Artist - Album
cuesplit */*.cue --aac -b 256 # several albums as 256 kbps AAC
cuesplit album.cue --tracks 3,5 # only some tracks
cuesplit album.cue --dry-run # list the files it would save
cuesplit info album.cue # show the tracks and tags without splittingThe input can also be a FLAC, APE, WavPack or TTA file with an embedded cue sheet.
| Option | |
|---|---|
--flac, --alac, --aac |
Output format. FLAC is the default; Apple Lossless and AAC are .m4a files that play in Music. |
-b, --bitrate <kbps> |
AAC bit rate: 128, 160, 192, 224, 256 (the default, Apple Music's) or 320. |
-o, --output <folder> |
Where to save. Defaults to each cue sheet's folder. |
--no-album-folder |
Save straight into the output folder instead of an "Artist - Album" folder. |
--tracks <list> |
Only these tracks, e.g. 3 or 1,4-6. |
--overwrite |
Replace existing files. Without it, cuesplit refuses to overwrite anything. |
--encoding <name> |
The cue sheet's text encoding, if the guess is wrong (cuesplit encodings lists them). |
--gaps, --hidden-track |
Where pregaps and audio before track 1 go. |
--jobs <n> |
Tracks to encode at once. |
cuesplit help split lists every option.
The paths of saved files go to standard output, one per line; progress and warnings go to standard error. -q
hides progress.
--json prints the results instead:
{
"albums" : [
{
"error" : null,
"files" : [
"/Music/Saltglass - Tidewater Hours/01 - First Light on the Estuary.flac",
"/Music/Saltglass - Tidewater Hours/02 - Paper Boats.flac"
],
"input" : "album.cue",
"output" : "/Music/Saltglass - Tidewater Hours/",
"warnings" : []
}
]
}Every field is always present: error is null for an album that succeeded, and output is null if cuesplit
couldn't read the album.
cuesplit info album.cue --json describes the album: the encoding it detected, the source files, and every track
with its start, length, file name and tags.
Exit status: 0 on success, 1 if any album failed (the others are still split), 64 for invalid arguments.
Report bugs and ideas in Issues. For a cue sheet that CueSplit reads wrongly, please attach the
.cue file. You can also email me.
Neither the app nor the command-line tool collects any data or connects to the internet; see the privacy policy.
Free to use and share unmodified; see LICENSE. Versions before 1.1 were released under the MIT
License. CueSplit includes libFLAC and the Monkey's Audio SDK (both BSD-3-Clause), and the
command-line tool also Swift Argument Parser (Apache 2.0). Their notices are in the app's About window and in
THIRD_PARTY_NOTICES.txt in the command-line tool's download.
