Learn how to use the SongBookOnline editor with ChordPro formatting.
The editor provides a simple text area where you can directly type or paste your ChordPro content:
{title: Song Title} - The title of your song (required){artist: Artist Name} - The artist/songwriter{key: C} - The song's musical key{tempo: 120} - The beats per minute{time: 4/4} - The time signature{capo: 2} - Capo position (fret number){copyright: © 2023} - Copyright information{ccli: 12345} - CCLI song number{ccli_license: 12345} - CCLI license number{header: Additional header info} - Custom header information{footer: Additional footer info} - Custom footer informationPlace chords within square brackets directly before the syllable they apply to:
[G]Amazing [C]grace how [G]sweet the [D]sound
For displaying chord progressions with bar lines:
| G | C | Am | D |
Insert a page break using:
{new_page}or{np}
Keyboard shortcut: Ctrl+Enter or Cmd+Enter
Create sections by typing the section name followed by a colon on its own line:
Verse 1:
[G]Amazing [C]grace how [G]sweet the [D]sound
Chorus:
[G]That saved a [C]wretch like [G]me
Supported section headers:
You can still use these plain-text headers alongside the brace directives below.
{…})Mark verse, chorus, bridge, or grid blocks with paired start/end directives. Short forms are shown in parentheses.
{start_of_verse} / {sov} … {end_of_verse} / {eov}{start_of_chorus} / {soc} … {end_of_chorus} / {eoc}{start_of_bridge} / {sob} … {end_of_bridge} / {eob}{start_of_grid} / {sog} … {end_of_grid} / {eog} — lines inside are treated like bar progressions (e.g. | C | G | Am | F |).Add a title after a colon or space, use label="…", or mix with ChordPro-style attributes. Examples:
{start_of_verse: Verse 1}
{start_of_verse Verse 2}
{start_of_verse label="Opening"}
{soc: Chorus 2}
A section title row appears only when you give a label—either a plain header line like Chorus: or an environment with text as above. A bare {soc} / {sov} / {sog} / {sob} (no label) still groups your lines for structure and transpose, but no extra heading is printed.
ChordPro also allows a conditional suffix on directive names (e.g. {start_of_verse-guitar}); the editor treats these like the base directive.
After you close a chorus with {eoc}, you can drop the same chords and lyrics in again later with:
{chorus}
{chorus: Final}
{chorus: label="Last time"}
If no chorus was defined yet, the line is ignored. Optional labels on {chorus} only affect the title row (when provided).
Whole-line notes for performers or yourself (not lyrics). Short forms in parentheses.
{comment: …} ({c: …}) — regular note{comment_italic: …} ({ci: …}) — emphasized note{comment_box: …} ({cb: …}) — boxed note{comment: Quiet here}
{c: Vamp 2 bars}
{comment_italic: Optional fill}
{cb: Key change next}
{soc}…{eoc} (and similar) when you want sections for transpose and layout without printing a “Chorus:” line; add a label when you do want a visible heading.{sog}…{eog} so every line is styled like a progression.{title: Amazing Grace}
{artist: John Newton}
{key: G}
{tempo: 70}
{time: 3/4}
{copyright: Public Domain}
Verse 1:
[G]Amazing [C]grace how [G]sweet the [D]sound
That [G]saved a [C]wretch like [D]me
I [G]once was [C]lost but [G]now I'm [D]found
Was [G]blind but [C]now I [D]see
Chorus:
[G]My chains are [C]gone, I've been [G]set [D]free
[G]My God, my [C]Savior has [G]ransomed [D]me