Dashplan
← Blog
Setlist Manager

ChordPro Format: The Complete Guide for Musicians

ChordPro is the standard format for digital chord charts — but most musicians only scratch the surface. Here's everything you need to write, read and use ChordPro charts properly.


ChordPro is the closest thing the music world has to a universal standard for chord charts. It's been around since 1987, it's supported by dozens of apps and platforms, and once you understand how it works you can move a song chart between any compatible tool without reformatting.

If you've ever seen chords written in square brackets inside song lyrics — like [G]Over the [C]rainbow — you've already encountered ChordPro. This guide covers the full syntax, how to write a complete chart, the directives that give charts structure, and how to get the most out of ChordPro in a live performance context.

What Is ChordPro?

ChordPro is a plain-text format for writing chord charts. Instead of stacking chords on a separate line above the lyrics — which breaks formatting whenever the font or screen size changes — ChordPro places chords inline with the lyrics, inside square brackets, immediately before the syllable they fall on.

A basic example: [G]Somewhere [D]over the [Em]rainbow, [C]way up [G]high. When rendered by a ChordPro-compatible app, the chords are lifted above the lyrics and positioned over the correct syllables. The result is clean, readable, and consistent regardless of screen size or device.

The format was created by Martin Leclerc and Mario Dorion in 1987 as a way to share song charts in a plain-text format that could be processed by software. It has since become the standard used by professional musicians, church worship leaders, and hobbyists alike.

Basic ChordPro Syntax

The core rule is simple: put the chord name in square brackets immediately before the syllable it lands on, with no space between the bracket and the lyric. The chord name follows standard notation — G, Am, F#m, Bb, Cmaj7, G/B, and so on.

A few examples of correct placement:

[G]Let her [C]go
[Am]Only know you [F]love her when you [C]let her [G]go


And a common mistake — putting a space between the chord and the lyric: [G] Let her go — this pushes the chord one character right of where it should land.

When a chord falls at the start of a line, it goes before the first word. When a chord falls mid-word — for example a chord change on the second syllable of "somewhere" — it goes inside the word: some[C]where.

Chords without any lyric underneath are written in square brackets on a line by themselves: [G] [C] [G] [D]. This is useful for instrumental sections or when the chord pattern is self-explanatory and you don't need to anchor it to specific words.

ChordPro Directives

Directives are metadata fields that give a chart structure beyond chords and lyrics. They're written in curly braces and appear on their own lines. The most commonly used ones are:

{title: Song Title} — the song title, used as a heading when the chart is rendered.
{artist: Artist Name} — the original artist or composer.
{key: G} — the key the chart is written in.
{tempo: 120} — the BPM.
{capo: 2} — the capo position, if applicable.
{time: 4/4} — the time signature.

Section markers are the other essential directives. They label sections of the song and, in apps that support it, allow navigation by section:

{start_of_verse}
Lyrics and chords here
{end_of_verse}


Common section markers: {start_of_verse} / {end_of_verse}, {start_of_chorus} / {end_of_chorus}, {start_of_bridge} / {end_of_bridge}, and {start_of_intro} / {end_of_intro}.

A shorthand directive {comment: text} (or just {c: text}) lets you add performance notes inline — for example: {c: Play softly here} or {c: Guitar solo}. These appear as callouts in the rendered chart without becoming part of the lyric flow.

Writing a Full Song in ChordPro

Here's what a complete, well-formed ChordPro chart looks like in practice:

{title: Let Her Go}
{artist: Passenger}
{key: G}
{tempo: 75}
{time: 4/4}

{start_of_intro}
[G] [D] [Em] [C]
{end_of_intro}

{start_of_verse}
[G]Well you [D]only need the [Em]light when it's [C]burning low
[G]Only miss the [D]sun when it [Em]starts to [C]snow
{end_of_verse}

{start_of_chorus}
[Am]And you [F]let her [C]go
[Am]And you [F]let her [C]go
{end_of_chorus}

A few things to notice: the metadata directives at the top give apps the context to display the chart correctly. Section markers mean you can jump to the chorus without scrolling. The chord placement is precise — [Em]light means the Em lands on "light", not on the space before it.

You don't need to write directives for every field — a minimal chart with just chords and lyrics is valid ChordPro. But the more structure you add, the more tools can do with it: transposing, navigating by section, displaying tempo during Live Mode, and so on.

Transposing and Key Changes in ChordPro

One of the most useful things about having chords in a machine-readable format is automatic transposition. Any app that supports ChordPro can transpose a chart to a different key instantly — no manual chord substitution required.

The {key} directive tells the app what key the chart is written in, which is the reference point for transposition. If you have a chart in G and need to sing it in A, the app shifts every chord up two semitones — G becomes A, D becomes E, Em becomes F#m, and so on.

Mid-song key changes can be notated with a {key: Bb} directive at the point of change — though support for this varies by app. The capo directive ({capo: 2}) is different: it describes a physical capo on the guitar, and the chords in the chart reflect the fingered positions, not the sounding pitch.

ChordPro vs Other Chart Formats

The main alternative to ChordPro is the stacked format — chords on one line, lyrics on the next, aligned with spaces. This is how most printed song books work. It's easy to read on paper but fragile on screen: any font change or resize breaks the alignment between chords and words, and you end up with chords floating above the wrong syllables.

Nashville Number System (NNS) is another alternative used in session work and some church environments. NNS replaces chord names with numbers relative to the key — 1, 4, 5, b7, and so on — which makes charts key-agnostic by default. It's powerful for players who know it, but not useful for singers reading lyrics.

ChordPro wins for digital use because it's both human-writable (plain text, no special software to create) and machine-renderable (apps can position chords precisely, transpose automatically, and display in any font or size).

Apps and Tools That Support ChordPro

ChordPro is supported by a wide range of apps. On desktop, the original ChordPro command-line tool processes .cho files into formatted PDFs. OnSong, Chordify, and Ultimate Guitar all support ChordPro import or export in various forms.

For live performance on mobile, apps like OnSong (iOS), Chordify, and Dashplan support ChordPro rendering and let you display charts in a stage-ready full-screen view.

Dashplan's Setlist Manager stores your full song library in ChordPro format and renders charts with chords floating above the correct syllables. In Live Mode, charts fill the screen at a readable size — useful on any device from a phone to a tablet on a stand. The song library is permanent, so you add a chart once and it's available for every setlist you build.

Common ChordPro Mistakes and How to Fix Them

Space between chord and lyric: Writing [G] Somewhere instead of [G]Somewhere pushes the chord one position right. The chord should sit directly against the syllable it falls on, with no space.

Missing closing bracket: [Gover the rainbow is a common typo. If your chart renders with the lyric inside the chord, you've forgotten the closing ].

Chord name typos: [Gmaj] instead of [Gmaj7], or [Bm7b5] when the app expects [Bm7-5]. Different apps use slightly different chord notation for extended and altered chords — check your app's documentation if unusual chords aren't rendering correctly.

Section markers not closed: Opening a {start_of_chorus} without a matching {end_of_chorus} can cause rendering issues in some apps. Always close section blocks.

Getting Started With ChordPro in Your Setlist

The fastest way to build a ChordPro chart is to find the lyrics online, paste them into your song editor, and add chord brackets manually as you work through the song. Most songs have chords available in tab or chord chart form somewhere online — it's a matter of converting from the stacked format to inline brackets.

A shortcut: look for existing ChordPro files in .cho or .crd format on sites like Chordify or community repositories. Many popular songs already have community-created ChordPro charts that you can import directly.

Once a chart is in your library in ChordPro format, it works everywhere that supports the standard — which means you're not locked into any single app. Your work is portable, version-stable, and ready to render in whatever tool you use on the night.

Try the Dashplan Setlist Manager free — add your first chart in ChordPro format, build a setlist, and use Live Mode on stage. No credit card required.

Frequently Asked Questions About ChordPro

What does ChordPro stand for?
ChordPro is a portmanteau of "chord" and "pro" — as in professional, or the command-line program originally called chord. The format was originally designed to work with that tool, and the name stuck when the format became a broader standard.

Is ChordPro only for guitar?
No. ChordPro is used by guitarists, pianists, ukulele players, bass players, and anyone else who needs chord symbols placed against lyrics. The chord notation itself is instrument-agnostic — G, Am7, and Bb mean the same thing on any instrument.

Do I need special software to write a ChordPro file?
No. ChordPro files are plain text — you can write one in any text editor, including Notepad on Windows or TextEdit on Mac. The file extension is typically .cho or .txt. You only need a ChordPro-compatible app to render it into a formatted chart.

What file extension do ChordPro files use?
The most common extensions are .cho, .crd, and .chordpro. Some apps also accept plain .txt files with ChordPro syntax inside. Dashplan stores charts as text within your account — there's no file to manage.

Can I use ChordPro for songs with no lyrics?
Yes. If a section is purely instrumental, you can write chord sequences on their own line without any lyrics: [G] [C] [D] [G]. Some musicians also use the {comment} directive to label instrumental sections: {c: Guitar solo — 8 bars}.

How do I write a chord that falls between two words?
Place the chord bracket at the exact syllable boundary with no extra space. For a chord that falls between "over" and "the": [G]over [C]the rainbow — the C is placed before "the" with no space after it. For a chord mid-word on the second syllable of "somewhere": some[C]where.

How do I show a chord with no lyrics underneath?
Write the chord brackets on a line by themselves: [G] or a sequence like [G] [C] [D]. Apps render these as floating chords with no lyric line below them — useful for instrumental intro bars.

What's the difference between {key} and {capo}?
The {key} directive states the sounding key of the song — what key it's actually in. The {capo} directive states the physical capo position on a guitar. They can coexist: {key: A} and {capo: 2} together means the song sounds in A but the chords are written as G shapes with a capo at fret 2.

Can ChordPro handle time signature or tempo changes mid-song?
The {tempo} and {time} directives can technically appear at any point in a chart to indicate a change, though not all apps act on mid-song directive changes. For most live-use charts, a single tempo and time signature at the top is sufficient.

Is there a limit to how many chords I can put in one line?
No hard limit, but readability suffers if you have too many chords on a single lyric line. For dense chord passages, consider breaking into shorter lines or using chord-only lines for bars with rapid changes.

Can I use ChordPro for Nashville Number System charts?
Not directly — NNS uses numbers relative to a key rather than chord names, which is a different system. You could write NNS notation as text alongside lyrics, but standard ChordPro renderers won't interpret the numbers as chords. They're two separate formats.

How do I indicate a rest or silent bar?
A common convention is to write [N.C.] (No Chord) — for example: [N.C.]Here comes the silence. Most ChordPro apps will render "N.C." as a chord label, which is the intended result.

Can I put chord diagrams or fingering charts in a ChordPro file?
Yes, with the {define} directive. For example: {define: G base-fret 3 frets 2 1 0 0 0 3} defines the fingering for a G chord. Apps that support chord diagrams will render a fretboard graphic when this directive is present. This is an advanced feature and not all apps support it.

What's the correct way to write slash chords like G/B?
Write them exactly as you'd name them: [G/B]. ChordPro renderers read the slash as the bass-note separator. The same applies to sus, add, and other extensions: [Gsus4], [Cadd9], [F#m7b5].

How do I write a repeat or chorus indication in ChordPro?
The cleanest approach is to use the comment directive: {c: Repeat chorus x2}. Some apps also support {start_of_chorus: Repeat} with a label parameter. For charts where the chorus isn't repeated in full, a comment is the most portable option.

Does capitalisation of chord names matter?
Yes. By convention, uppercase letters indicate major chords (G, C, D) and lowercase indicate minor (but most ChordPro apps use the full notation — Am, Dm, Em — rather than lowercase alone). The key directive should also use standard capitalisation: {key: F#m}, not {key: f#m}.

Can I include ChordPro in a PDF or print it?
ChordPro is not directly printable — it's a source format. To print, you need to render it first. Apps like the ChordPro command-line tool can generate formatted PDFs from .cho files. In Dashplan, the chart renders on screen; for printing you would screenshot or use your device's print function from the rendered view.

Where can I find songs already in ChordPro format?
Sites like Chordify, Ultimate Guitar (which supports ChordPro export in some views), and community repositories have large catalogues of ChordPro-formatted songs. Searching for a song title alongside "chordpro" or ".cho" often surfaces existing community charts that you can import or adapt rather than write from scratch.

Is ChordPro the same as tab (tablature)?
No. Tablature shows string positions on a fretboard — it's a notation system for how to physically play notes or patterns, primarily used by guitarists. ChordPro shows chord symbols with lyrics — it tells you what chords to play and when, but not how to finger them. They serve different purposes and are often used together.

How does ChordPro work in Dashplan's Setlist Manager?
You enter or paste a song's ChordPro text in the song editor in your Dashplan Setlist Manager library. Dashplan parses the ChordPro syntax and renders the chart with chords floating above the correct syllables. The chart is then available in any setlist you build, and in Live Mode it displays full-screen at a stage-readable size on any device.

Try Dashplan free

Band management software for working musicians. No credit card required to get started.