ChordPro Cheat Sheet


ChordPro input is a file containing song lyrics, chords and annotations.

Chords are placed between brackets [ and ].

Annotations are placed between bracket-star [* and ].

The input data may be encoded in ASCII, ISO 8859.1, UTF-8, UTF-16 or UTF-32.

Directives control processing and output. Directives are placed between braces { and } and must be on a single line.


{title: Twinkle}
[C]Twinkle, twinkle, [F]little [C]star

Texts can use Pango Markup and metadata.

Lines that start with a hash # are ignored.


Directives can be conditionally executed by appending a dash - and a selector to the directive name.

Arguments to directives may be separated by a colon : and/or whitespace.

Directive Short Purpose Since
chord name Display diagram in-line. 5.0
base-fret base Specify base-fret (1 or higher).1 5.0
fingers pos1 pos2 pos3 Specify finger postions.1 6.0
frets pos1 pos2 pos3 Specify fret postions.1 5.0
keys pos1 pos2 pos3 Specify keyboard keys.1 6.0
chordcolour colour Chord colour. 5.0
chordfont font cf2 Chord font. 1.0
chordsize size cs2 Chord size. 1.0
chorus Recall chorus. May have a label.3 5.0
column_break cb New column or page. 3.6
columns cols col Number of columns. 3.6
comment c Comment. 1.0
comment_box cb Comment. 3.6
comment_italic ci Comment. 3.6
define name Define chord. 1.0
base-fret base Specify base-fret (1 or higher).1 1.0
fingers pos1 pos2 pos3 Specify finger postions.1 6.0
frets pos1 pos2 pos3 Specify fret postions.1 1.0
keys pos1 pos2 pos3 Specify keyboard keys.1 6.0
end_of_section Ends a specific section. 6.0
end_of_bridge eob Ends bridge section. 6.0
end_of_chorus eoc Ends chorus section. 1.0
end_of_grid eog Ends grid section. 5.0
end_of_tab eot Ends tab section. 3.6
end_of_verse eov Ends verse section. 6.0
footersize size Footer size. 5.0
footercolour colour Footer colour. 5.0
footerfont font Footer font. 5.0
grid g Print diagrams at end. 3.6
highlight Same as comment. 5.0
image Include image. 5.0
border Draws a 1 point border around the image. 5.0
border= width Draws a border around the image (points). 5.0
center Center image. 5.0
center= arg Center image if arg . 5.0
height= height Height (points). 5.0
scale= scale Scale factor (number). 5.0
src= filename Image file name 5.0
title= text Provides a title (caption) for the image. 5.0
width= width Width (points). 5.0
meta item Metadata. 5.0
meta album name album Album name. 5.0
meta artist name artist Artist name. 5.0
meta capo pos capo Capo. 5.0
meta composer name composer Composer name. 5.0
meta copyright text copyright Copyright. 5.0
meta duration duration Duration (mm:ss or seconds). 5.0
meta key key key Key. 5.0
meta lyricist name lyricist Lyricist name. 5.0
meta sorttitle text sorttitle Sort title. 6.0
meta tempo bpm tempo Tempo (beats per minute). 5.0
meta time n / m time Time signature. 5.0
meta year text year Release date. 5.0
new_page np Starts new page. 3.6
new_physical_page npp Starts new page. 3.6
new_song ns Starts a new song. 1.0
no_grid ng Disable diagram printing. 3.6
pagetype4 Set page (paper) size. 4.0
start_of_section Starts a specific section. May have a label. 6.0
start_of_bridge sob Starts bridge section. May have a label. 6.0
start_of_chorus soc Starts chorus section. May have a label.3 1.0
start_of_grid sog Starts grid section. May have a label.3 5.0
start_of_tab sot Starts tab section May have a label.3 3.6
start_of_verse sov Starts verse section. May have a label. 6.0
subtitle text st Subtitle for song. 1.0
tabcolour colour Tabs colour. 5.0
tabfont font Tabs font. 5.0
tabsize size Tabs size. 5.0
textcolour colour Text colour. 5.0
textfont font tf2 Text font. 1.0
textsize size ts2 Text size. 1.0
title text t Title for song. 1.0
titlesize size Title size. 5.0
titlecolour colour Title colour. 5.0
titlefont font Title font. 5.0
titles flush Flush titles (center, left or right). 3.6.4
tocsize size Table of contents font size. 5.0
toccolour colour Table of contents colour. 5.0
tocfont font Table of contents font. 5.0
transpose semitones Transpose by a number of semitones. 5.0
x_… Custom directive. 5.0


There are no archived releases between 1.2 and 3.6, so unless there are pre-1.2 proofs 3.6 is taken to be the initial release for a feature.

There has never been an official 5.0 release. 5.0 was mostly an intermediate development target for 6.0.

  1. As of version 6.0, all arguments to chord and define directives are optional. ↩︎

  2. The short forms were missing in version 5,0, and re-added in 6.0. ↩︎

  3. Section labels are a 6.0 feature. ↩︎

  4. Actually, pagetype and pagesize were never implemented in version 5.0 and higher. ↩︎