The ChordPro Format

What is ChordPro?

ChordPro is a file format commonly used in song book apps. Rather than writing songs with chords written above text, like this:

Verse 1
 Am       C
Alas my love,
       G         Em
you do me wrong,

Chords are placed inline with the song text, surrounded by square braces ([ and ]):

{sop:Verse 1}
A[Am]las my [C]love,
you [G]do me[Em] wrong,
to c[Am]ast me off so di[E]scourt

Other bits of metadata, for example the start of a song section as in the example above, are placed in curly braces ({ and }). These are known as "tags".

Formatting songs in your library

When formatting songs section using ChordPro in Chordle, the main tags you will use are:

  • {start_of_part:name} or {sop:name} - Indicates that a new section is starting, e.g. {sop:Verse 2}
  • {end_of_part} or {eop} - Indicates that a section has ended
  • {start_of_chorus} or {soc} - Can be used instead of {start_of_part:Chorus}
  • {end_of_chorus} or {eoc} - Ends a chorus section opened with {start_of_chorus} or {soc}
  • {start_of_tab} or {sot} - Indicates a block of tablature text. When viewed in a song these sections are displayed in monospace font to ensure that the lines of tablature text align correctly.
  • {end_of_tab} or {eot} - Indicates that the block of tablature text has ended.

You can also add comments to your song using:

  • {comment:comment text} or {c:comment text} - adds a standard comment to the song text
  • {comment_italic:comment text} or {ci:comment text} - adds an italic comment
  • {comment_box:comment text} or {cb:comment text} - adds a bold comment

So the song text:

This [A] is a test {cb:shouting}  [D]SONG! {ci:although perhaps not too loud!}

is displayed in Chordle as:

Importing and exporting songs

When importing and exporting, Chordle also reads/writes the following tags:

  • {title:song title} or {t:song title} - the title of the song
  • {subtitle:text} or {st:text} - depending on your configured import settings, this will be imported as either Artist, Copyright or Alternative Title. When exporting this always contains Alternative Title.
  • {capo:number} - the capo position the song is written for.
  • {key:key} - the key of the song. If this tag can't be found in a song when it is imported, Chordle will attempt to infer the song's key from the chords in it.
  • {artist:text} - the song Artist.
  • {composer:text} - a tag that can also be used to specify the song' Artist.
  • {tempo:number} - the tempo of the song, in beats per minute.