ChordPro Format Explained: Complete Beginner Guide
ChordPro Format Explained: Complete Beginner Guide: clear guitar guide with practical examples, common mistakes, and Chords.me practice tools.

If you have ever printed a guitar chord sheet only to find the chords shifted three words to the right because of a font change, you know the frustration of traditional text charts. Standard text documents rely on precise spacing to keep chords aligned over lyrics. The moment you view that document on a tablet, change the font size, or try to transpose the key, the entire layout falls apart.
This is where the ChordPro format solves the problem. By embedding chords directly into the text, ChordPro ensures your music sheets remain perfectly formatted, readable, and ready for any performance.

What is ChordPro?
>
ChordPro is a simple, text-based markup language used to format guitar chord sheets. By placing chord names inside square brackets directly within the lyrics (for example, [C]), ChordPro ensures that chords remain perfectly aligned above the correct syllables, regardless of screen size, font changes, or transposition.What Is ChordPro and Why Do We Need It?
To understand what is chordpro, we have to look at how guitarists shared music online for decades. The traditional method used two lines of text: the top line for chords and the bottom line for lyrics.
This system works only if you use a monospaced font (like Courier), where every letter and space takes up the exact same width. If you open this file in a proportional font (like Arial or Times New Roman), the letter "m" takes up more space than the letter "i", causing the chords to drift away from their correct lyric positions.
How do you use chordpro to fix this? Instead of two separate lines, ChordPro merges the chords and lyrics into a single line:
When a ChordPro reader or formatter processes this line, it automatically strips the brackets, places the chords on a dedicated line above the lyrics, and aligns them precisely with the letters immediately following the brackets. If you scale the text up for a tablet screen or down for a printed booklet, the chord changes remain locked to the correct syllables.
Is ChordPro Good for Beginners?
If you are just starting your musical learning process, you might wonder: is chordpro good for beginners? The answer is a resounding yes.
When you are learning how to learn chordpro step by step, you are not just learning a file format; you are developing a better way to read and visualize music. Here is why this format is highly beneficial for beginner guitarists:
- Visual Precision: It removes the guesswork of when to strum. Exactly which vowel sound or consonant triggers the chord change.
- Instant Transposition: If a song is written in a key that is too high or low for your voice, ChordPro software can instantly transpose the chords to a comfortable key without breaking the page layout.
- Compact Storage: You can save your entire repertoire in simple text files (
.txt,.chordpro, or.cho) on your computer or phone, taking up virtually no storage space. - Custom Chord Diagrams: Many ChordPro viewers can read custom chord definitions and display chord diagrams at the top of your sheet, helping you visualize unfamiliar [guitar chord shapes](https://www.chords.me/blog/5-easy-guitar-chords-for-beginners) as you play.
How to Learn ChordPro Step by Step
Writing in ChordPro is straightforward. You do not need special programming skills; you only need a basic text editor (like Notepad on Windows or TextEdit on Mac) and an understanding of a few simple rules.
Step 1: Mastering Inline Chords
The foundation of ChordPro is placing the chord inside square brackets immediately before the lyric syllable where the chord change occurs.
Let's look at a basic [chord progression](/tools/chord-progression-generator) in G major:
When rendered, this displays as:
If the chord change happens in the middle of a word, place the bracketed chord right inside the word:
This renders with the G chord aligned directly over the "ye" syllable, the C over "trou", and the D over "far".
Step 2: Adding Song Metadata with Directives
ChordPro uses "directives" to tell the formatting software how to display the song's title, artist, key, and other administrative details. Directives are always written inside curly braces {} and follow a key: value structure.
Here are the most common metadata directives:
{title: Song Title}(or{t: Song Title}){subtitle: Subtitle or Album}(or{st:.}){artist: Artist Name}(or{a:.}){key: G}(tells the software the starting key of the song){tempo: 120}(sets the beats per minute){capo: 2}(indicates where to place your capo on the frets)
For example, the top of your text file should look like this:
{title: Redemption Song}
{artist: Bob Marley}
{key: G}
{tempo: 116}Step 3: Organizing Song Structures
To make your chord sheets easy to read on stage or during practice, you should visually separate the verses, choruses, and instrumental sections. ChordPro uses paired directives to define these blocks.
To format a chorus, wrap the text in {start_of_chorus} and {end_of_chorus} (which can be abbreviated as {soc} and {eoc}):
{start_of_chorus}
[G]No woman, [C]no cry
[G]No woman, [D]no cry
{end_of_chorus}Most ChordPro readers will automatically indent the chorus, put a vertical box around it, or shade the background to make it stand out from the verses.
Similarly, you can define verses and bridge sections using {start_of_verse} ({sov}) and {end_of_verse} ({eov}):
{start_of_verse}
EmOld pirates, yes, they [C]rob I
[G]Sold I to the Ammerchant ships
{end_of_verse}Step 4: Inserting Performance Notes
Sometimes you need to write instructions to yourself, such as "Strum softly" or "Guitar solo". You can do this using the comment directive:
{comment: Note text}(or{c: Note text})
{comment: Intro - Acoustic Guitar Only}
[G] [Em] [C] [D]This will display as a highlighted block of text, separate from the lyrics, guiding you through the arrangement.
Defining Guitar Chord Shapes and Diagrams
One of the most powerful features of ChordPro is its ability to define custom [guitar chord shapes](/tools/guitar-chord-finder) directly within the file. This is incredibly helpful when you are learning beginner guitar chords or using a unique voicing that you might forget.
To define a chord, you use the {define:.} directive. This directive tells the software which frets and fingers to use across the guitar fretboard.
The syntax for defining a chord looks like this:
Let's break down what this means:
- Chord Name: The first word after
define:is the name of the chord (e.g.,C). - Frets: The keyword
fretsis followed by six characters, representing the six strings of the guitar from the lowest pitch (6th string, low E) to the highest pitch (1st string, high E).
xmeans the string is muted or not played.0means the string is played open (no frets pressed).- Numbers like
1,2, or3represent the specific fret to press.
- Fingers: The keyword
fingerstells you which left-hand fingers to use (1 = index, 2 = middle, 3 = ring, 4 = pinky). A dash-is used for unplayed or open strings.
Visualizing Chord Shapes
When rendered by a ChordPro viewer, these definitions generate standard grid-style chord boxes. Here is an ASCII representation of how a viewer interprets a defined C major chord:
C Major Chord Diagram:
String: E A D G B e
Fret 1: |---|---|---|---|-1-|---|
Fret 2: |---|---|--2|---|---|---|
Fret 3: |---|--3|---|---|---|---|
(X)By including these definitions at the top of your ChordPro file, compatible readers can draw a clean chord diagram As you start your lyrics.
Here is a reference table of common beginner chords, how they are played, and tips for clean execution:
| Chord Shape | Finger Position | Common Problem | Easier Option |
|---|---|---|---|
C Major (C) | Ring (3rd fret A), Middle (2nd fret D), Index (1st fret B) | Muting the high E string with the index finger knuckle | Play a Cmaj7 (leave the B string open) or focus on arching your fingers |
G Major (G) | Middle (2nd fret A), Ring (3rd fret low E), Pinky (3rd fret high E) | Muting the open G string with the ring finger | Use a 3-finger G major shape, keeping the A string muted with the side of your ring finger |
F Major (F) | Barre across 1st fret, Ring (3rd fret A), Pinky (3rd fret D), Middle (2nd fret G) | Buzzing notes on the barre or hand fatigue | Play an Fmaj7 (open high E, no barre) to avoid the full barre chord |
D Major (D) | Index (2nd fret G), Ring (3rd fret B), Middle (2nd fret high E) | Accidentally striking the low E and A strings | Focus your strum from the D string down (the root note of the chord) |
For chords like C Major, avoiding the low E string is critical. You can represent this visually in your mind or on your sheets with an "X" over the unplayed string:
| X | 3 | 2 | 0 | 1 | 0 |A Complete ChordPro Song Template
To see how all of these elements come together, let's look at a complete, standard ChordPro file. This template features a simple folk-style song in the key of G major, using a common four-chord progression (G, D, Em, C).
{title: Leaving the Harbor}
{artist: Traditional}
{key: G}
{tempo: 95}
{capo: 3}
{comment: Intro - Fingerpicked G major arpeggio}
[G] [C] [G] [D]
{start_of_verse}
The [G]wind is blowing [C]softly tonight,
As the [G]ships roll out of [D]view.
And Emthough the stars are [C]shining bright,
My [G]heart still [D]longs for [G]you.
{end_of_verse}
{start_of_chorus}
Oh, [C]take me back to the [G]harbor town,
Where the Emwaves crash [C]on the [D]shore.
Let the [G]anchor drop and the [C]sails come down,
And I'll [G]leave the [D]sea no [G]more.
{end_of_chorus}
{start_of_verse}
The [G]salt is heavy up[C]on my skin,
And the [G]rigging starts to [D]creak.
But Emhope is rising from [C]deep within,
For the [G]home-port [D]that I [G]seek.
{end_of_verse}
{start_of_chorus}
Oh, [C]take me back to the [G]harbor town,
Where the Emwaves crash [C]on the [D]shore.
Let the [G]anchor drop and the [C]sails come down,
And I'll [G]leave the [D]sea no [G]more.
{end_of_chorus}
{comment: Outro - Fade out slowly on G}
[G] [C] [G] [D] [G]If you save the text above with a .chordpro extension and open it in a compatible viewer, you will see a beautifully formatted song sheet with clearly separated verses, an indented chorus, performance notes, and perfectly aligned chords.

Advanced ChordPro Directives for Power Users
Once you have mastered the basics of inline chords and song structure, you can start using advanced directives to create highly professional charts. These features allow you to control column layouts, add guitar tablature, and even change text formatting on the fly.
1. Multi-Column Layouts
If a song has many short verses, it can take up multiple pages when printed or viewed on a tablet. You can force the renderer to display text in multiple columns using the column directives:
{start_of_col}
This text starts in column one.
{end_of_col}
{column_break}
This text starts in column two.Using {columns: 2} at the beginning of a section is another common way to force a dual-column layout, which is perfect for keeping long songs on a single screen.
2. Embedding Guitar Tablature
Sometimes a simple chord name isn't enough; you need to show a specific fingerpicking pattern or intro riff. You can embed standard guitar tabs using the tab directives:
{start_of_tab}
E|-------3-----------2-----|
B|---------0-----------3---|
G|-----0-----0-----2-----2-|
D|---0-----------0---------|
A|-------------------------|
E|-3-----------------------|
{end_of_tab}Inside the {start_of_tab} ({sot}) and {end_of_tab} ({eot}) block, most renderers switch to a monospaced font automatically, ensuring that your tab lines stay perfectly aligned.
3. Custom Text Formatting
You can change font sizes, colors, and styles for specific parts of your document using formatting directives. While many modern apps handle this in their global settings, you can hardcode changes inside the file:
{textfont: Helvetica}(sets the font for lyrics){chordfont: Courier-Bold}(sets the font for chords){textsize: 14}(sets lyric font size){chordsize: 12}(sets chord font size)
Common ChordPro Mistakes and How to Avoid Them
Even experienced musicians make syntax errors when writing ChordPro files. Because ChordPro is a structured language, a small typo can cause the formatting engine to display your chart incorrectly. Here are the most common mistakes and how to fix them:
1. Forgetting to Close Directives
If you open a chorus block with {start_of_chorus} but forget to end it with {end_of_chorus}, the software may format the entire rest of the song as a chorus. Always double-check that every "start" directive has a matching "end" directive.
2. Putting Spaces Inside Brackets
Do not put spaces between the square brackets and the chord name unless you want the chord to be spaced out.
- Incorrect:
GKnock, knock - Correct:
[G]Knock, knock
Spaces inside the brackets can confuse the transposition engine, causing it to fail when you try to change keys.
3. Using Parentheses Instead of Square Brackets
If you are used to writing notes, you might accidentally use parentheses ` instead of square brackets []` for chords.
- Incorrect:
(C)Amazing grace - Correct:
[C]Amazing grace
The parser will ignore parentheses and treat them as regular lyrics, meaning your chords will print inline with the text instead of above it.
4. Splitting Words Inappropriately
When placing a chord in the middle of a word, make sure you do not add spaces around the brackets, or the word will render as two separate words.
- Incorrect:
Ye [G] sterday(renders as "Ye sterday") - Correct:
Ye[G]sterday(renders as "Yesterday" with the G chord over the "ye")
Software and Apps That Support ChordPro
To get the most out of the ChordPro format explained in this guide, you will want to use dedicated software. While you can write files in any text editor, specialized apps parse the syntax and turn it into beautiful, interactive song sheets.
Here are some of the best tools available across different platforms:
Mobile and Tablet Apps (Great for Live Performance)
- OnSong (iOS): The industry standard for gigging musicians. It features deep ChordPro support, allowing you to transpose keys, auto-scroll, and draw custom chord diagrams on the fly.
- SongBook (iOS, Android, Windows, macOS): A highly reliable cross-platform app designed specifically for ChordPro files. It syncs your library across all devices via Dropbox or Google Drive.
- MobileSheets (Android, Windows, iOS): A powerful sheet music reader that fully supports text-based ChordPro files alongside PDFs.
Desktop Editors and Tools
- Linkesoft Songbook Editor: A dedicated desktop application for managing and editing your ChordPro library on Windows or Mac.
- The Official ChordPro Tool (Command Line): For advanced users, the official open-source ChordPro project provides a command-line tool written in Perl. It compiles ChordPro files into highly customizable, print-ready PDF documents.
How to Convert Standard Text Chord Sheets to ChordPro
If you have a strong library of old text-based chord sheets, you don't have to rewrite them all from scratch. You can convert them to ChordPro using manual techniques or automated tools.
The Manual Conversion Process
To convert a song manually, you will merge the chord line down into the lyric line. Let's look at a quick example.
Before (Standard Text): ``text C F Row, row, row your boat, G C Gently down the stream. ``
Step 1: Identify the exact letter where each chord change occurs.
- The
Cchord is over the "R" in "Row". - The
Fchord is over the "b" in "boat". - The
Gchord is over the "G" in "Gently". - The
Cchord is over the "s" in "stream".
Step 2: Insert the bracketed chords directly before those letters on the lyric line. ``text [C]Row, row, row your [F]boat, [G]Gently down the [C]stream. ``
Automated Conversion Tools
If you have dozens of songs, manual conversion can be tedious. Fortunately, several online converters can do this automatically.
Many apps like OnSong and SongBook have built-in converters. You simply paste your standard text sheet into the app, select "Convert to ChordPro," and the app's algorithm analyzes the spacing and inserts the brackets for you. While these tools are usually 90% accurate, you may still need to do some minor manual editing to fix chords that shifted slightly during the conversion.
Best Practices for Writing Clean ChordPro Files
To ensure your chord sheets look pristine and remain compatible with every app and device, follow these quick best practices:
- Always Include Basic Metadata: At a minimum, include
{title}and{artist}. This helps your songbook software index and search your library efficiently. - Use Short Directives: Use abbreviated directives like
{soc}and{eoc}instead of{start_of_chorus}and{end_of_chorus}to save typing time and keep your raw text files clean. - Keep Chords Standard: Write your chords using standard naming conventions (e.g.,
Cmaj7,Am9,D/F#). This ensures that transposition engines can recognize and transpose them correctly. - Add a Capo Directive: If a song requires a capo, always write
{capo: X}. Most modern apps can automatically adjust the displayed chords based on whether you want to view the "actual" pitch or the "capo-relative" chords. - Test Your Files: Before taking a new chart to a rehearsal or gig, open it in your preferred viewer to check for formatting errors, missing brackets, or misaligned chords.
By adopting the ChordPro format, you free yourself from the limitations of static PDFs and poorly formatted text documents. Your digital songbook becomes dynamic, adaptable, and ready for any musical situation—If you are practicing in your bedroom, teaching a beginner, or performing live on stage.
Related Chords.me Guides
For the next step, read CAGED System Guitar Explained: Complete Beginner’s Guide to Fretboard Mast, Pentatonic Scale Guitar Guide: Complete Beginner Guide, and Blues Scale Guitar Guide: Beginner Practice Guide before moving on. You can also test the same idea in another key and turn your chords and lyrics into a clean PDF while practicing this lesson.
Practice This With Chords.me
Use the Chord Sheet PDF Generator to test the layout and make the chart easier to read. Focus on clean notes and steady timing before increasing speed.
Frequently Asked Questions
What is ChordPro Format?
ChordPro Format is a guitar-learning topic that helps players build a clearer connection between technique, sound, and practice. For beginners, the most useful approach is to learn the basic idea first, then apply it slowly on a tuned guitar.
Is chordpro format hard for beginners?
It can feel difficult at first, but it becomes manageable when you break it into small steps. Focus on clean notes, relaxed hands, and short practice sessions instead of trying to master everything in one day.
What should I practice first for chordpro format?
Start with the simplest version of the idea: one chord, one pattern, one short exercise, or one small section of the fretboard. Once that feels stable, add timing, transitions, or a second example.
What common mistakes should I avoid?
Avoid rushing, pressing harder than necessary, ignoring tuning, and practicing mistakes at full speed. Slow, accurate repetitions usually fix beginner problems faster than long unfocused practice sessions.
Which Chords.me tool helps with this topic?
The Chord Sheet PDF Generator is the best supporting tool here because it helps with turning chords, lyrics, and practice notes into a clean printable sheet. Use it before or during practice so the article’s examples translate into real playing more easily.
About the Contributor
Chords.me Practice Tools Desk Practice workflow and music tools contributor
A brand contributor profile for Chords.me practice-tool guides. This desk focuses on timing, BPM, chord sheets, transposition, capo use, and ways to turn practice notes into usable playing routines. Content is checked for practical clarity, beginner readability, and accurate links to relevant Chords.me tools.