ChordPro Formatter

Format chord-above-lyrics text into ChordPro, then transpose, convert to Nashville numbers, or preview — all in one place.

Input
How to use

Paste any chord chart text into the input — the ChordPro output appears automatically as you type. No manual formatting required. Here is everything this tool handles for you:

🎸 Chord-Above-Lyrics Conversion

Write chords on the line directly above the lyrics they belong to. The formatter reads each chord's column position and inserts it as an inline [Chord] marker at exactly the right word — even when multiple chords share a single lyric line.

📋 Automatic Section Detection

Start a line with a section name (followed by an optional number and colon) and the formatter wraps that section in the correct ChordPro directives automatically — opening and closing tags included. Recognised names:

IntroVersePre-ChorusChorus BridgeInterludeOutroTag CodaHookBreakdownMiddle 8

Numbers are supported too: "Verse 1:", "Chorus 2:", "Bridge A:" — whatever label you use becomes the section value in the directive.

🥁 Strum & Rhythm Patterns

Lines that mix chord names with beat markers ( / ) and bar lines ( | ) are detected automatically. Chord names are wrapped in inline markers while the rhythm notation is preserved exactly as written:

Input
D / / / | Am7/D / / / | G / / D/F# |
Output
[D] / / / | [Am7/D] / / / | [G] / / [D/F#] |
📁 File Upload

Already have a .cho or .chopro file? Upload it directly using the Upload button on the input panel. The formatter handles existing ChordPro files gracefully — use them as a starting point for transposing or Nashville conversion.

🎵 Metadata Fields

Fill in the Song Title, Artist, and Key fields above the editor and they are prepended as ChordPro metadata directives ({title:}, {artist:}, {key:}) at the top of every output mode.

Output modes

  • ChordPro — Standard inline ChordPro format. Copy to clipboard or download as a .cho file for use in any ChordPro-compatible app.
  • Transpose — Shift every chord up or down by semitones using the − and + buttons. Any {key:} directive in the song updates automatically, and a live indicator shows the resulting key (e.g. G → Bb).
  • Nashville — Convert all chords to Nashville Number System scale degrees (1–7). Select the song key from the dropdown, or include {key: G} anywhere in your text and the key auto-selects. Chord quality (m, maj7, sus4, etc.) and slash bass notes are preserved.

Full example

Input
Intro:
D / / / | Am7/D / / / |

Verse 1:
D
There is a name
Am7/D
That will never lose its power
D/F#    Em
By it we're saved

Chorus:
D
Even in the desert wastes
Em
He is still my resting place
ChordPro output
{start_of_intro: Intro}
[D] / / / | [Am7/D] / / / |
{end_of_intro}

{start_of_verse: Verse 1}
[D]There is a name
[Am7/D]That will never lose its power
[D/F#]By it [Em]we're saved
{end_of_verse}

{start_of_chorus: Chorus}
[D]Even in the desert wastes
[Em]He is still my resting place
{end_of_chorus}
ChordPro Input
Lyrics Only
How to use

Paste ChordPro text or upload a .cho file. The extractor strips all chord information and produces clean, readable lyrics while preserving the full structure of the song. Perfect for printing lyric sheets, song presentations, or sharing with singers who don't need chord markings.

✅ What is kept
  • Lyrics — All lyric text with inline chord markers removed. Spacing is cleaned up automatically.
  • Metadata — {title:}, {artist:}, {key:}, and {capo:} directives become readable "Label: value" lines at the top of the output.
  • Section markers — Verse, Chorus, Bridge, Intro, Outro, and all other {start_of_…} / {end_of_…} pairs become clean [Section] headings so the song layout stays clear.
  • Comments & annotations — {c:} and {comment:} directives are kept as plain text lines so in-song instructions and cues are not lost.
🚫 What is removed
  • Inline chord markers — [G], [Am7], [D/F#] and all other bracket notations are stripped cleanly.
  • Chord-only lines — Lines consisting entirely of chord names (typical chord-above-lyrics rows) are removed.
  • Chord-only sections — If an entire section (e.g. an instrumental Intro) has no lyric content after stripping, the section heading is omitted too — no blank blocks in your output.
  • Technical directives — {define:}, {copyright:}, tab notation, and other non-lyric directives are removed.

Example

ChordPro input
{title: Amazing Grace}
{artist: John Newton}
{key: G}

{start_of_verse: Verse 1}
[G]Amazing [D]grace how [G]sweet
[C]the sound that [G]saved a wretch
{end_of_verse}

{start_of_chorus}
{c: Everyone sing!}
[D]How sweet [G]the sound
{end_of_chorus}
Lyrics output
Title: Amazing Grace
Artist: John Newton
Key: G

[Verse: Verse 1]
Amazing grace how sweet
the sound that saved a wretch

[Chorus]
Everyone sing!
How sweet the sound