Chord Transposer

The ChordPro format explained

ChordPro is a plain-text format for songs with chords. Instead of putting chords on a separate line above the lyrics, it writes each chord in square brackets right before the syllable where it is played.

Chords over lyrics vs. ChordPro

Most chord charts on the web use the "chords over lyrics" style. The same verse in ChordPro looks like this:

G          G7       C        G
Amazing grace, how sweet the sound
G                     Em     D
That saved a wretch like me
Chords over lyrics
[G]Amazing [G7]grace, how [C]sweet the [G]sound
That saved a [Em]wretch like [D]me
ChordPro

Amazing Grace is a traditional hymn in the public domain.

Chords over lyrics is easy to read but depends on spaces: in a proportional font, or after editing a line, the chords drift away from their words. ChordPro ties each chord to its syllable, so a songbook app can lay the song out in any font, column width, or screen size and still put every chord in the right place.

The basic syntax

Common directives

Directives add information such as the song title or mark sections of the song. Many have a short form.

DirectiveShort formMeaning
{title: …}{t: …}Song title
{subtitle: …}{st: …}Subtitle, often the artist
{artist: …}Performer or composer
{key: G}Key of the song
{capo: 2}Capo fret
{tempo: 90}Tempo in beats per minute
{comment: …}{c: …}A note shown with the song, such as "Slowly"
{start_of_chorus} … {end_of_chorus}{soc} … {eoc}Marks the chorus
{start_of_verse} … {end_of_verse}{sov} … {eov}Marks a verse
{start_of_tab} … {end_of_tab}{sot} … {eot}Guitar tablature, shown as is in a fixed-width font

A complete small file:

{title: Amazing Grace}
{key: G}

{start_of_verse}
[G]Amazing [G7]grace, how [C]sweet the [G]sound
That saved a [Em]wretch like [D]me
[G]I once was [G7]lost, but [C]now am [G]found
Was [G]blind, but [D]now I [G]see
{end_of_verse}

The full specification, with many more directives, is published at chordpro.org.

Files and apps

A ChordPro file is an ordinary UTF-8 text file. Common extensions are .cho, .chopro, .chordpro, .crd, and .pro. Because it is plain text, you can write it in any text editor, keep it under version control, and import it into many songbook and stage apps.

Transposing ChordPro files

Chord Transposer reads ChordPro text directly. Paste it, or open a .cho, .chopro, .crd, or .pro file:

Update {key:} yourself. The app does not change directives, so after transposing, edit {key: G} to the new key (for +2, {key: A}). In the chords-over-lyrics style, a Key: line at the top of the chart is updated automatically.

Save the result and the file is ready to import into your songbook app.

Converting between the two styles

The app transposes but does not convert between styles. To convert by hand:

See also: transposing chords: the basics.