Skip to content

How to show Chords with Lyrics – ChordPro Format

How to Notate Chords to Lyrics

Guitar tablature is great when you need it. Standard musical notation provides a lot of information about playing a tune. Software to create tab or music notation, such as Guitar Pro, TablEdit, TuxGuitar, MuseScore, or software for the ABC format, is all very useful.


Sometimes, you might just want the chords to accompany a song. Combining chords with lyrics is great for strumming along with folk and camp tunes. But it’s handy for any song where you want to add a chord accompaniment, whether you play guitar, ukulele, banjo, or mandolin.

The standard way to notate chords to lyrics is to place the chord symbol over the word where a chord change should go. But there are problems with this, although it works and is often used.

The biggest problem is keeping the chord symbol aligned with the word or syllable where the change belongs. Filler, spaces, or dashes must be added between the words or syllables of a song to adjust the spacing to match a long chord name above the correct text. Adding or changing a chord can shift a perfect score to something that doesn’t make sense. Consider these examples

C     Am     F       G7
Hello World, How are you

Example 1 is a simple chord progression a beginning guitarist might play. But let’s say you are more advanced and want to edit the chords to make them more interesting. You modify the chords to give example 2, but now the chords don’t line up with words. This isn’t a problem to fix in this short example, but imagine a much longer tune.

CMaj7     Am7     Dm11       G7#5
Hello World, How are you

I’ve fixed the spacing by stretching out the words to match the new chords in example 3.

CMaj7     Am7     Dm11       G7#5
Hello     World,  How are    you

Let’s look at the reverse situation. You have the chords and lyrics as shown in example 3 and want to modify them, maybe for a beginner you’re mentoring. Example 4 shows what happens when you edit the example 3 chords back to the originals from example 1.

C     Am     F       G7
Hello     World,  How are    you

Again, the chords and words no longer match up. It is not a problem to fix this short one-line example, but consider adding chords to a longer piece, such as a jazz standard with multiple verses. Each verse will probably need different edits because the length of the words will be different. You can’t copy/paste the chords from the previous verse to make things right.

Another problem with chords above lyrics is word wrap. I don’t need to explain why this can be a problem.

A solution to this problem is to use the ChordPro format to add the chords. Chords are added inside square brackets, which are placed directly into the text for the lyrics.

[C]Hello [Am]World, [F]How are [G7]you

[Cmaj7]Hello [Am7]World, [Dm11]How are [G7#5]you

Changing the chords from example 5a to 5b doesn’t change the chord placement within the lyrics.

ChordPro notation can be understood as written in example 5. But software can turn the above into the more commonly expected notation with the chords above the text. Additionally, most software packages that read the ChordPro format can transpose the chords, display chord diagrams above the words, and allow you to choose from different chord positions, including adding your own if the library doesn’t include the chord you want.

Software that understands ChordPro

This is not an exhaustive list, only the main programs I have found in the Apple App Store and searches.

The first entry, ChordPro, is listed because it seems to be the current source for defining the ChordPro format. I do not recommend software because it is difficult to install and primitive compared to the commercial options below. However, it is a good reference to ChordPro.

  1. ChordPro (Open Source for Linux, macOS, Windows). Not recommended.
  2. SongBook (by Linke Soft: Android, iOS, Windows, macOS). I purchased this.
  3. SongbookPro (by Songbook Systems: Android, iOS, Windows, Fire). It’s not available on Mac.
  4. OnSong (by OnSong LLC: iOS, macOS.) Requires a subscription, currently $2/month.

Some of the above software can organize your PDF scores, leadsheets, and other music sources in addition to ChordPro files. Most will also print out PDF or other formats of the music.

Examples from Songbook for macOS

The following examples are from SongBook on my Mac.

The source file for example 5b, is given below.

{t:Hello world} #Title
{st:Example 5b} #subtitle
# comments not displayed start with #
{c:Line 1} 
#above comment is displayed, but not this line
[Cmaj7]Hello [Am7]World, [Dm11]How are [G7#5]you

This produces the following.

A simple menu choice converts the display of chord names into chord diagrams.

I didn’t use the default chord diagrams, though I could have. Instead, I created custom diagrams, which were added.

Defining custom chord diagrams for a song in SongBook (or any ChordPro file) allows advanced chords to be included. SongBook has a chord editor to add custom chord diagrams to the music. But you could use a text editor to add the following at the end of the file.

{define: Cmaj7 0 x 3 5 4 5 3}
{define: Am7 4 1 3 1 1 1 1}
{define: G7#5 0 2 x 2 3 3 x}

The format to define a chord is

  1. Chord Name
  2. Lowest fret for diagram (offset).
  3. The frets played for the chord in relation to the offset.

Going back to just showing the chord names, I transposed the chords from the key of C to Ab. If I choose to show the diagrams, my custom diagrams will not be automatically converted. I would have to add new custom chords or choose one of the built-in diagrams for each chord.


SongBook (ChordPro) for Practice

Did you ever want to practice basic chord progressions in all keys? Transposing chords and notes in your head as you play is a good skill to have. But as a learning tool, before you get there, and maybe you never will get there, being able to take a progression to practice and then transpose it on the spot is very useful.

One of my favorite websites, Jazz Guitar Online | Free Jazz Guitar Lessons For All Levels, has progressions that are common in countless tunes. E.g.,

For example, I’ve taken the Bebop Blues Changes from The 10 Most Popular Jazz Chord Progressions post and created a ChordPro file for SongBook. There are no words, so I just entered a forward slash (/) for each beat in 4/4 time. I added a vertical line (|) between measures as “[|]|.” That puts the bar division in the chord line and the “lyrics” area-lyrics being the strum/mark.

Example 6:

{t:Bebop Blues Changes}
{st:Jazz Blues Progressions}
[F7]/ / / / [⎮]| [Bb7]/ / / / [⎮]| [F7]/ / / / [⎮]| [Cm7]/ / [F7]/ / 
[Bb7]/ / / / [⎮]| [Bdim]/ / / / [⎮]| [F7]/ / / / [⎮]| [Am7b5]/ / [D7b9]/ / 
[Gm7]/ / / / [⎮]| [C7]/ / / ⫽ [⎮]| [Am7]/ / [D7]/ / [⎮]| [Gm7]/ / [C7]/ / 

I made a template for a 12-bar blues. SongBook allows you to duplicate a tune in your library. So, to create a new blues progression to practice, duplicate the template and then add chords. Insert the chords as [name] before the stroke ‘/’ where they belong.

{t:Blues Template}
{st:Blues Progressions}
{c:12 bars}
/  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ 
/  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ 
/  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ 
{c:extra 4 bars}
/  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ /  /  /  /  ⎮ 

Practice by transposing the keys or trying different chord diagrams for the chords.

Note that I’ve had problems showing the chord diagrams in the songs in the above two examples (assuming you’ve entered your chords in the template example. SongBook tries to show me chord diagrams for ‘|,’ which turns up as a C major unless I enter chord names for every other slash mark. If you are just displaying the chord names, there is no problem.

ABC vs ChordPro formats

My previous two posts referenced the ABC format to create music notation and, depending on the software, also create a tab file or export the file in a format that could be imported as tab.

The examples I showed above, where I created practice chord progressions, could be done in ABC as well. Here’s an example of the same Bebop progression from above in the ABC format.

X: 7 %Ex.7
T: Bebop Blues Progression
S: from
N: From ChordPro to ABC. Chord's root note and duration in notation
Z: Dan 
M: 4/4 
L: 1/2 % half notes for this example 
K: C clef=treble transpose=-12 %for guitar
"F7"[FAc_e] F | "Bb7"_B, _B, | "F7"F F | "Cm7"C "F7"F 
"Bb7"_B, _B, | "Bdim"B, B, | "F7"F F | "Am7b5"A, "D7b9"D 
"Gm7"G, G, | "C7"C C | "Am7"A, "D7"D| "Gm7"G "C7"C 
EasyABC example
Screenshot of notation generated by EasyABC from example 7 code.

I entered the root note for each chord except the first, where I notated the full chord in the score. Most of you, including myself, will be more comfortable writing out the guitar tab for the chords if you want to show how to play each chord. Although the notation is pretty, transposing to another key will not transpose the chord names above the notes. Only chords in the score, like the first F7, will transpose using EasyABC software. Although I like working in MS Visual Studio Code for editing ABC, it does not transpose.

Whether or not your tablature software can transpose chord names depends on the app and how the names were entered. The chords will probably transpose if entered from a chord dictionary, even if the chord diagrams are not displayed. But I often see tabs where the chord names were entered as text as if they were lyrics or annotations. That won’t transpose.

Also, I don’t trust tablature software to transpose notes intelligently. I often see sequences of strings and frets where first-position notes are interspersed with notes from above the 12th fret.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.