Getting the verses and the chorus of a song into ChordPro format is the easy part: you put each chord in square brackets, right before the word it falls on, like [G]Hello. Then you reach the intro with no words, the solo, the chorus that comes back three times, or the key change at the end, and it is less clear what to type.
This post goes through those parts of writing songs in ChordPro format one at a time, in the order you meet them in a song. Each part shows what to type, and which button in Fretlist's editor types it for you. Under each one is the editor itself, with a short piece of a song in it. Change anything you like and the preview on the right follows. Nothing is saved.
New to ChordPro? The ChordPro guide explains the basics first.
How to write an intro or a solo with only chords in ChordPro format
A part with no words is a line with only chords on it. Put each chord in its own brackets, with a space between them:
[C] [Am7] [F] [G]
Fretlist draws this as a row of chords, keeping the spaces you typed between them.
Two more things fit on a line like that:
- How many times. A word in brackets that starts with an asterisk is a note, not a chord.
[*x2]shows "x2" in the row of chords, and it stays "x2" when you change the key. - Bar lines.
[|]draws a|between the chords, so you can see where each bar starts.
To give the part a name, wrap it in a section. ChordPro lets you make up your own: {start_of_intro} and {end_of_intro} give a section called "Intro", and {start_of_solo} and {end_of_solo} one called "Solo".
ChordsIntroC Am7 F G x2Verse 1CLights go Am7down on the Flast song GplayedSolo| Am F | C G |Try it with your own song: in Fretlist, open a song in the editor, choose ChordPro above the text, and add the intro as one line of chords in brackets.
How to show how long each chord lasts
ChordPro has no standard way to say "two beats of G, then two of C" inside a line of lyrics. For a part where the timing matters, use a chord grid. A grid has no words, only bars and beats:
{start_of_grid label="Intro"}
| C . . . | Am7 . . . | F . . . | G . . . |
{end_of_grid}
Each | is a bar line, and each spot after it is one beat. A chord name starts a chord on that beat, and a dot means "keep playing". So | F . G . | is two beats of F, then two of G.
A few more marks:
~puts two chords in one beat:G~Am.|:and:|are repeat signs around the bars you play twice.%repeats the bar before it.
In the editor, Chord grid under Directives writes an empty grid with four bars to fill in, and Repeat bars one with repeat signs. The chord grids docs show everything else a grid can do, including first and second endings.
ChordsIntroCAm7FGSoloAmFCGAmGPlaying an instrument and only want the chords? Under Show and hide you can switch the lyrics off. The chords stay where they were above the words, and the grids stay too.
How to name a section: a pre-chorus, a tag, or your own language
Verse, chorus and bridge have their own sections in ChordPro, and you can name each one as you like. In the editor, pick Verse under Sections and type the name between the quotes:
{start_of_verse label="Strophe 1"}
[C]Lights go [Am7]down on the [F]last song [G]played
{end_of_verse}
That is the form every ChordPro app reads. Fretlist also reads two shorter ones, which is what you often get when you paste a song from somewhere else:
- A name in square brackets on its own line:
[Pre-Chorus]. - A name followed by a colon on its own line:
Refrein:,Vers 2:,Tag:. Up to three words, in any language.
One thing that is not a heading: a comment. {comment: Strophe 2} stays a comment, in Fretlist and in the ChordPro standard. Comments are for remarks, which is the next part.
ChordsStrophe 1CLights go Am7down on the Flast song GplayedPre-ChorusAmNobody Fmoves and Gnobody staysRefreinCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesStrophe 2 is the same as Strophe 1How to add comments for the band, and backing vocals
A comment is a remark that is not a lyric: "softly", "drums in", "second voice a third lower". Put it on its own line:
{comment: Softly, just vocals and guitar}
In the editor, Comment under Directives writes it for you. Two other kinds look different on the sheet: {comment_italic: ...} is drawn in italics, and {comment_box: ...} in a box, for the one remark nobody may miss.
For backing vocals, the simplest way is parentheses in the lyric, on the words the backing singers sing:
[C]Nobody [Am7]moves (nobody [F]moves) and [G]nobody stays
Parentheses read the same in every app.
ChordsVerse 2Softly, just vocals and guitarCNobody Am7moves (nobody Fmoves) and Gnobody staysSecond voice a third lower from hereCHold the Gline till the Fmorning CcomesEveryone in on the last chorusCan you color text in ChordPro format?
The ChordPro standard has two ways. <span foreground="red">words</span> colors a few words, and {textcolour: red} or {chordcolour: blue} colors everything after it. The standard spells them the British way.
Fretlist draws every song in the same colors, so a library you imported from five places still looks like one library. You pick the chord color yourself, under Settings > Appearance > Chord & key color. A <span> in a song is taken out and its words stay. A color line is left in the file, so another app that reads it still gets it, but Fretlist does not draw it.
For a line that has to stand out on stage, use {comment_box: ...} from the part above.
How to repeat the chorus without copying it
Write the chorus once, between {start_of_chorus} and {end_of_chorus}. Then, wherever it comes back, put one line:
{chorus}
Fretlist prints the whole chorus again in that spot, chords and lyrics, so on stage you never scroll back to find it. To give the repeat its own name, add a label: {chorus: label="Last chorus"}.
In the editor, type / at the start of a line below the chorus and pick Repeat chorus. It only shows up once there is a chorus above it.
{chorus} repeats the chorus and nothing else. A verse or a bridge that comes back is written out again.
ChordsVerse 1CLights go Am7down on the Flast song GplayedChorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesVerse 2CLights come Am7up on an Fempty GstageChorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesLast chorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesTry it on one of your own songs: in Fretlist, find the second chorus in a song, delete it, and type
/to put Repeat chorus in its place.
A chord in the middle of a word, two chords on one word, or no chord
A chord goes right before the letter it falls on, also in the middle of a word: la[F]st. Fretlist puts the F over the "s" and leaves the word in one piece.
Two chords on one word: write both, one after the other, before the word. [F][G]nobody draws the F just before "nobody" and the G over it.
No chord for a moment, for a stop or a part sung alone: write [N.C.] where the band stops. It is drawn in the row of chords and never changes with the key.
ChordsVerse 1CLights go Am7down on the laFst song GplayedCNobody Am7moves and F Gnobody staysN.C.Hold the lineHow to write a key change and a capo
A capo goes at the top of the song:
{capo: 2}
In Fretlist this fills in Capo in the song's details. The same goes for {key}, {tempo}, {time} and {duration}: type one, and the matching detail follows.
For a key change halfway through, like a last chorus that goes up a half step, put {transpose: 1} on the line before it. Every chord after it moves up a half step, so you write the chorus in the key you already know. {transpose: 2} is a whole step. A {transpose} with no number goes back to the key you were in.
ChordsChorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesUp a half stepLast chorusC#Sing it G#out and the A#mnight feels F#youngC#Hold the G#line till the F#morning C#comesHow to add a riff in tab
Tab goes between {start_of_tab} and {end_of_tab}. Fretlist keeps the strings and their columns lined up the way you typed them. In the editor, Tab block under Directives writes six empty strings to fill in.
RiffeBGDAE||||||---------2----------0----------1----------0------------1------------0---------------------||||||Pasting a song from Ultimate Guitar, Word or ChatGPT
Most chord sheets you find have the chords on their own line, above the words. You don't have to rewrite those by hand. Paste the song into the Chords over Lyrics tab of the editor, and click ChordPro above the text to see it written in ChordPro. Lines you did not change come back exactly as they were when you switch back. For a song on Ultimate Guitar, the Ultimate Guitar to ChordPro converter does the same without an account.
Asking ChatGPT to write a song in ChordPro? Ask it to use {start_of_verse} and {start_of_chorus} for the sections, not {comment: Verse 1}. A comment is a remark, and other apps show it as one.
The whole song
Here is one song with every part in it: a named intro with bar lines and a repeat note, backing vocals, a boxed comment, and the chorus brought back with its own label.
ChordsIntro| C Am7 | F G |C Am7 F G x2Verse 1CLights go Am7down on the Flast song GplayedCNobody Am7moves (nobody Fmoves) and Gnobody BVstaysChorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesLast time round: slowerLast chorusCSing it Gout and the Amnight feels FyoungCHold the Gline till the Fmorning CcomesAll of it is plain text, so a song written this way opens in any app that reads ChordPro. How much each app draws differs: the ChordPro support post has a test you can paste into any app, and the ChordPro docs list what Fretlist draws.
Try Fretlist with your own songs: paste a song into a new song, or import your whole library at once.
