---
name: "cueprint"
section: "1"
platform: "linux"
package: "cuetools"
version: "1.4.1-6"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/cueprint"
---

# cueprint(1)

report disc and track information from a CUE or TOC file

## NAME

cueprint - report disc and track information from a CUE or TOC file

## SYNOPSIS

**cueprint** \[ { **-i** *format* \| **--input-format**=*format* } { **-n** *number* \| **--track-number**=*number* } { **-d** *template* \| **--disc-template**=*template* } { **-t** *template* \| **--track-template**=*template* } \] \[ *file* ... \]\
 **cueprint -h \| --help**\
 **cueprint -V \| --version**

## DESCRIPTION

**cueprint** reports disc and track information from CUE and TOC files, which are typically created by compact disc ripping software.

By default, **cueprint** reports a default set of disc information, and a default set of information for each track on the disc. With options, the report can be restricted to a specific track, and the presentation of the disc and track information can be extensively customized using [**printf**(3)](/printf/3.md)-style format strings (referred to here as ‘templates’ to avoid confusion with the concept of file format). All characters in a template are reproduced as-is in the output except for conversions (which begin with ‘**%**’) and escapes (which begin with ‘**\\**’).

If no filenames are specified, **cueprint** reads from standard input, and an input format option *must* be specified. If one or more filenames is provided, but the input format option is not specified, the input format will be guessed based on each file's suffix (e.g., *.cue* or *.toc*). This heuristic is case-insensitive.

### Conversions

A conversion has the form ‘**%**\[***flags***\]\[***width***\]\[**.*precision***\]***type***’.

*flags* may be zero or more of the following:

| | |
| --- | --- |
| Character | Meaning |
| - | left-justify expansion |
| + | place sign before numbers |
| ‘ ’ (space) | place a blank space before a positive number |
| 0 | pad numbers with zeroes |

*width* is the minimum field width. *precision* is the maximum width for strings. *type* is a single character which specifies the conversion type — apart from **%**, it is the only mandatory part of the conversion.

The available conversion types are presented in the table below; disc conversion types are presented in the left half of the table, and track conversion types in the right half. Disc template expansion characters are valid for both disc and track templates.

| | | | |
| --- | --- | --- | --- |
| Character | Conversion | Character | Conversion |
| A | album arranger | a | track arranger |
| C | album composer | c | track composer |
| G | album genre | g | track genre |
|  |  | i | track ISRC |
| M | album message | m | track message |
| N | number of tracks | n | track number |
| P | album performer | p | track performer |
| S | album songwriter |
| T | album title | t | track title |
| U | album UPC/EAN | u | track ISRC (CD-TEXT) |

Any other character used as a conversion type expands to itself. This is how a literal percent sign is placed in the template; i.e., ‘**%%**’ expands to ‘**%**’.

### Escapes

The recognized escapes are all single characters, and listed in the table below.

| | |
| --- | --- |
| Escape Sequence | Expansion |
| \\a | alert (bell) |
| \\b | backspace |
| \\f | formfeed |
| \\n | newline |
| \\r | carriage return |
| \\t | horizontal tab |
| \\v | vertical tab |
| \\0 | null |

Any other character used after the ‘**\\**’ in an escape sequence expands to itself. This is how a literal escape character is placed in the template; i.e., ‘**\\\\**’ expands to ‘**\\**’.

## OPTIONS

- **-d** *template*, **--disc-template=*template***

  set disc template (see **Conversions** )

- **-h**, **--help**

  displays a usage message and exits.

- **-i** *format*, **--input-format=*format***

  sets the expected format of the input file(s) to *format*, which must be either **cue** or **toc**.

- **-n** *number*, **--track-number=*number***

  only print track information for a single track. The default is to print information for all tracks.

- **-t** *template*, **--track-template=*template***

  set track template (see **Conversions** )

- **-V , --version**

  displays version information and exits.

## EXIT STATUS

**cueprint** exits with status zero if it successfully reports information from each input file, and nonzero if there were problems.

## EXAMPLES

To display disc and track information (using the default template for both):

% **cueprint album.cue**

To print the number of tracks in a CUE file:

% **cueprint -d '%N\\n' album.cue**

## AUTHOR

Cuetools was written by Svend Sorensen. Branden Robinson contributed fixes and enhancements to the utilities and documentation.

## SEE ALSO

[**cuebreakpoints**(1)](/cuebreakpoints/1.md), [**cueconvert**(1)](/cueconvert/1.md), **[printf(3)](/printf/3.md)**
