Songs
ReferenceWrite ChordPro charts, organize arrangements, and rehearse with tools.
Checking account access…
Complete guide to writing charts with ChordPro notation.
ChordPro is a simple text format for writing chord charts. Instead of manually aligning chords above lyrics with spaces (which break as soon as you change the font), you put chords in square brackets right next to the syllable they belong to.
The result: charts that render cleanly on any screen, any font size, and export beautifully to PDF.
Put chords in square brackets before the syllable where they change:
[C]Amazing [G]grace how [Am]sweet the [F]sound
Renders as:
C G Am F
Amazing grace how sweet the sound
You can stack multiple chords in a row if the chords change faster than the lyrics:
[Am][G][F]Word
Type lyrics normally after chord positions. The text flows naturally:
[C]Hello [G]world, how [Am]are [F]you?
If a line has no chords, just type it as-is:
This is a spoken word section
No chords here
Metadata goes at the top of your chart and sets properties for the entire song.
{t:Song Title}
{title:Song Title}
Both forms work. Use whichever you prefer.
{st:The Beatles}
{subtitle:The Beatles}
Good for crediting the original artist or showing the album.
{key:C}
Sets the key signature. This affects how chords are analyzed and can be overridden per arrangement.
{time:4/4}
{time:6/8}
Sets the time signature for reference and metronome sync.
{tempo:120}
Sets the BPM. The metronome will use this as its default speed.
Organize your chart into sections so it's easier to navigate during rehearsal.
{soc}
[C]This is the [G]chorus
{eoc}
{soc} = start of chorus, {eoc} = end of chorus.
{sof}
[Am]Bridge section [F]here
{eof}
{sof} = start of figure (commonly used for bridge), {eof} = end of figure.
{ns}
[C] [G] [Am] [F]
{ns} marks a "no singing" section — instrumental parts where there are no lyrics.
For a cleaner chart, you can skip the {soc}/{eoc} directives and just type section headers:
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]
INTROVERSE (with optional number: VERSE 1, VERSE 2, etc.)PRE-CHORUS, PRECHORUS, PRE CHORUSCHORUSBRIDGEREFRAININTERLUDESOLOINSTRUMENTALVAMPTAGOUTRO, ENDINGYou can add parenthetical notes after section headers:
VERSE 1 (acoustic only)
[C]First time [G]through
CHORUS (full band, heavy drums)
[F]Everyone [C]in
Use square brackets for notes too:
VERSE 2 [(optional chords)]
Or inline italics:
INTRO <i>(keys only)</i>
Show how many times a section repeats:
INTRO (x2)
CHORUS (x4)
The repeat marker displays as (x2) but doesn't automatically duplicate the section — it's just visual.
For songs that change key mid-way through (modulations), use the inline transpose directive:
CHORUS
[C]Final [G]chorus [F]here
TRANSPOSE KEY +2
CHORUS (modulation)
[D]Final [A]chorus [G]here
The TRANSPOSE KEY +2 directive shifts all chords after it up 2 semitones. Use negative numbers to go down:
TRANSPOSE KEY -3
These shifts are cumulative, so you can have multiple key changes:
VERSE 1 (original key)
[C]Verse one
TRANSPOSE KEY +2
VERSE 2 (up a whole step)
[D]Verse two
TRANSPOSE KEY +2
VERSE 3 (up another whole step)
[E]Verse three
Add notes that will display but aren't part of the lyrics:
{c:Play softly here}
{comment:Guitar solo follows}
For notes that won't display at all (private reminders):
# TODO: verify bridge chords
# Check recording at 2:34
Use HTML-style tags for inline italics:
INTRO <i>(keys)</i>
VERSE 1 <em>(acoustic guitar)</em>
Both <i> and <em> work. The text renders in italics in both the viewer and PDF exports.
If you want a line to render literally without any special parsing, prefix it with a backslash:
\INTRO
This prevents "INTRO" from being interpreted as a section header.
When exporting to PDF, you can force content into a new column:
VERSE 1
[C]Content here
COLUMN_BREAK
VERSE 2
[C]More content in new column
Use this for better layout in two-column PDF exports.
Here's a full chart demonstrating most features:
{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]
# This is a private note
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]