Your app is being rebuilt.

A non-hot-reloadable change occurred and we must rebuild.

ChordPro syntax reference

Checking account access…

Every directive and shorthand Akordo understands when rendering a chart.

Overview

ChordPro is a plain-text format for chord charts. Instead of lining chords up above lyrics with spaces, which breaks as soon as the font changes, you put each chord in square brackets right before the syllable it belongs to.

The result renders cleanly at any size on screen, in Stage mode, and in PDF.

Akordo supports the core of the ChordPro standard plus a relaxed shorthand for section headers. Directives that are not listed here are ignored and dropped from the rendered chart.

Basic syntax

Chords

Put a chord in square brackets before the syllable where it changes:

[C]Amazing [G]grace how [Am]sweet the [F]sound

This renders as:

C         G        Am        F
Amazing grace how sweet the sound

Chords can follow each other directly when they change faster than the words:

[Am][G][F]Word

Write a rest as [N.C.]. Write bar lines with [|], or group several chords in one bracket separated by bars, such as [C | G | Am]. A repeat bar is [|:] or [:|], and a double bar is [||].

Lyrics

Type lyrics normally. A line with no chords renders as plain text. Leading indentation is kept, and blank lines are ignored.

Metadata directives

Metadata directives usually go at the top of the chart. Each one is a whole line in curly braces.

Title

{t:Song Title}
{title:Song Title}

Subtitle and artist

{st:Live at the Chapel}
{subtitle:Live at the Chapel}
{artist:The Beatles}

Subtitle and artist are separate fields and both print under the title.

Key

{key:C}

Sets the key. The key drives transposition and Nashville numbers, and the arrangement's key setting overrides it.

Time signature

{time:4/4}
{time:6/8}

The top number can be 1 to 32. The bottom number must be 1, 2, 4, 8, 16, 32, or 64.

Tempo

{tempo:120}

Beats per minute, from 20 to 300. The metronome uses this value.

Section directives

Chorus

{soc}
[C]This is the [G]chorus
{eoc}

Start of chorus and end of chorus. The section is titled Chorus.

Bridge

{sof}
[Am]Bridge section [F]here
{eof}

Start of figure and end of figure. The section is titled Bridge.

Instrumental marker

{ns}

Renders the text [Instrumental] on its own line. It does not start a section, so put chord lines after it as usual.

Relaxed section headers

You can skip the directives and type a section name on its own line:

INTRO
[C] [G] [F]

VERSE 1
[C]Hello [G]world

CHORUS
[F]Sing it [C]loud

BRIDGE
[Am]Something [G]different

OUTRO
[C] [G] [C]

Headers are case-insensitive. A trailing colon is ignored.

Recognized section words

  • INTRO
  • VERSE, optionally numbered: VERSE 1, VERSE1, VERSE II
  • PRE-CHORUS, PRECHORUS, PRE CHORUS
  • CHORUS
  • BRIDGE
  • REFRAIN
  • INTERLUDE
  • SOLO
  • INSTRUMENTAL
  • VAMP
  • TAG
  • OUTRO, ENDING

Notes on section headers

Add a note in parentheses or square brackets after the section word:

VERSE 1 (acoustic only)
CHORUS [full band, heavy drums]

Several notes are combined. Italics work too:

INTRO <i>(keys only)</i>

Repeat markers

INTRO (x2)
CHORUS (x4)

The marker is shown next to the header. It does not duplicate the section.

Key changes inside a song

For a modulation, put a transpose line between sections:

CHORUS
[C]Final [G]chorus [F]here

TRANSPOSE KEY +2

CHORUS (modulation)
[D]Final [A]chorus [G]here

Everything after the line shifts by that many semitones. The sign is required, so write +2 or -3, never 2. The words are case-insensitive. Shifts accumulate:

VERSE 1
[C]Verse one

TRANSPOSE KEY +2

VERSE 2
[D]Verse two

TRANSPOSE KEY +2

VERSE 3
[E]Verse three

Comments

Both comment forms render as visible comment lines in the chart and in PDFs:

{c:Play softly here}
{comment:Guitar solo follows}
# Build intensity into the last chorus

There is no hidden comment syntax. For private reminders, use a private arrangement note instead. See Songs.

Text formatting

Italics

INTRO <i>(keys)</i>
VERSE 1 <em>(acoustic guitar)</em>

Both tags work, in headers, lyrics, and inside chord brackets. Italics render on screen and in PDF.

Literal lines

Start a line with a backslash to render it exactly as typed, without treating it as a header, comment, or directive:

\INTRO

Column breaks

VERSE 1
[C]Content here

COLUMN_BREAK

VERSE 2
[C]More content in the next column

Forces the following content into the next column in the two-column PDF layout and in paged Stage mode. COLUMN BREAK with a space also works, in any case.

Not supported

Akordo ignores these standard ChordPro directives, and any others not listed above. They disappear from the rendered chart without a warning, so check imported files:

  • {sot} / {eot} tablature blocks. Use the tablature builder in arrangement notes instead.
  • {sov} / {eov} and {sob} / {eob} verse and bridge blocks. Use relaxed headers.
  • {capo}. Set capo on the arrangement.
  • {define}, {composer}, {album}, {duration}, and the {start_of_...} long forms.

Limits

A chart can be up to 10,000 characters.

Complete example

{t:Example Song}
{st:Demo Artist}
{key:G}
{time:4/4}
{tempo:110}

INTRO
[G] [D] [Em] [C]

VERSE 1
[G]Here's the [D]first verse
[Em]Singing [C]loud and clear
[G]Every [D]word is [Em]true [C]

CHORUS
[C]This is the [G]chorus now
[D]Sing it [Em]out
[C]Don't hold [G]back [D]

VERSE 2 (acoustic only)
[G]Second [D]time around
[Em]Softer [C]here

{c:Build intensity}

CHORUS (x2)
[C]This is the [G]chorus now
[D]Sing it [Em]out

TRANSPOSE KEY +2

CHORUS (key change)
[D]This is the [A]chorus now
[E]Sing it [F#m]out

BRIDGE <i>(drums kick in)</i>
[Am]Building [G]up
[F]Getting [G]louder

OUTRO
[G] [D] [G]

Tips

  • Be consistent: pick one style for section headers and keep it
  • Use sections: they make the chart easy to navigate in rehearsal and let notes attach to the right place
  • Set tempo and time: the metronome and setlist planning use them
  • Check the PDF: add a column break where the print layout needs it

Next steps