Loading

ChordPro

The inline editor format. Chords go in square brackets right where they fall in the lyric. What Fretlist renders: inline chords, section directives, notes, diagrams, tabs, and what it skips.

ChordPro is the second editor tab. Instead of a chord line above the words, the chords go inline, in square brackets, right where they fall in the lyric. It is an open, portable plain-text format.

This page covers what the editor renders. For the full background on ChordPro, including its history, converting from other apps, and how transposition works, see the blog post ChordPro explained. For the chords-above-words style, see Chords over Lyrics.

Inline chords

Each chord sits above the character right after its bracket, so put the bracket exactly where the chord changes:

You type

[G]Strumming on my [C]guitar tonight
[Em]Singing songs beneath the [Am]light

Renders as

GStrumming on my Cguitar tonight
EmSinging songs beneath the Amlight

What counts as a chord is the same everywhere in Fretlist: a root note (A to G), optionally sharp or flat, with quality, extension, and an optional slash bass, like Am, C7, F#m7, Cmaj7, G/B.

Section headers

Mark a section with a comment directive:

You type

{c: Verse}
[G]Strumming on my [C]guitar tonight

Renders as

Verse
GStrumming on my Cguitar tonight

{comment: ...} is the long form of {c: ...}. Environment directives work too: {start_of_chorus} (or {soc}), {start_of_verse: Verse 2}, and {chorus} to mark a chorus repeat.

Notes that aren't chords

Mark a non-chord cue with an asterisk right after the bracket. It renders above the lyric in italic and never transposes:

You type

I found a [G]love [*Stop]for me

Renders as

I found a Glove Stopfor me

It is the same note that Chords over Lyrics writes as (Stop), and switching tabs converts between the two. Fretlist also accepts bare brackets like [Mute] or [(stop)] as notes.

Chord diagrams

Define shapes with {define:} and they render as fingering diagrams:

You type

{define: C base-fret 1 frets x 3 2 0 1 0}
{define: G base-fret 1 frets 3 2 0 0 0 3}
{define: Am base-fret 1 frets x 0 2 2 1 0}

Renders as

Chords
C
G
Am

See Getting the most out of Frets for the full diagram system.

Tabs

Wrap tab in {start_of_tab} and {end_of_tab}. Fretlist also auto-detects tab lines, so the wrapper is optional:

You type

{start_of_tab}
e|--------------0--|
B|----------0-1----|
G|------0-2--------|
D|--2-3------------|
A|-----------------|
E|-----------------|
{end_of_tab}

Renders as

eBGDAE||||||---------------2-----------3----------0-----------2----------0-----------1----------0-----------------||||||

What the editor skips

A line starting with a single # is a hidden comment, and metadata or layout directives ({title}, {artist}, {key}, {capo}, custom {x_...}) are not drawn in the chord-sheet body. In this example only the two lyric lines render:

You type

# reminder: capo 2 live
{title: Perfect}
[G]Everything in brackets [C]renders
{x_layout: ignored}
[Em]but the directives [D]do not

Renders as

GEverything in brackets Crenders
Embut the directives Ddo not

Set the song's key, capo, and other details in their own fields, not in the song text.

The preview, and switching formats

The preview renders the finished sheet live. Switch to the Chords over Lyrics tab to see the same song in the chords-above-words style, then switch back for ChordPro. A few ChordPro directives have no Chords-over-Lyrics equivalent, so Fretlist warns you before you edit in that view.

Last updated: 11 June 2026Need help? hello@fretlist.com