How the chord transposer works
What happens when you paste a song: how chords are read, moved and spelled, how the key and capo are worked out, and how we test it.
1. Reading the song
Every line is sorted into one of seven kinds: chord line, lyric line, line with chords in brackets ([C]Amazing), section label ([Verse], Chorus:), ChordPro directive ({title: …}), guitar tab, or blank. A line counts as a chord line when every word on it reads as a chord (bar lines, dashes and repeat marks like x2 don't count against it).
Words that are also chord names need more evidence. "A", "Am", "Do" or "Em" on a line written like normal text ("Am I wrong") stay lyrics, while "A Am" spaced out above a lyric is read as chords. If the tool guesses wrong, "Fix a line" lets you mark it.
Each chord is read by a small parser that knows root notes with ♯ and ♭, qualities (m, maj7, M7, Δ, dim, °, ø, aug, +, sus2, sus4, add9, 6/9), extensions (9, 11, 13), alterations (♭5, ♯5, ♭9, ♯9, ♯11, ♭13, also in brackets) and slash chords. It remembers how you wrote each chord, so CM7 stays CM7 in the new key.
2. Moving and spelling the chords
Transposing moves every root (and bass note) by the same number of semitones. The hard part is the name: the same sound can be A♯ or B♭. The tool names every chord the way the target key requires:
- Keys with sharps (G, D, A, E, B, F♯) get sharps; keys with flats (F, B♭, E♭, A♭, D♭) get flats.
- Chords outside the key get the name musicians expect: the ♭VII chord in D major is C, the chord leading to Dm in C major is C♯dim7.
- Awkward names like E♯, B♯, F♭ and C♭ are avoided unless the key itself contains them.
- Slash-chord bass notes are named as notes of the chord: A7/C♯, not A7/D♭.
Example: an A chord moved up one semitone from A major is written B♭, because B♭ major is a flat key. Prefer one style? Choose Sharps or Flats.
To keep chords above the right word, each chord keeps the column it started in. When a chord name gets longer (C → C♯m), the chords after it move right only as far as needed to keep a space between them. Lyrics are never changed.
3. Finding the key
The tool scores all 24 major and minor keys. Each chord earns points for how well it belongs to a key (the seven chords of the key score highest; borrowed chords like ♭VII score less; chords from nowhere lose points). Extra points go to the key whose home chord starts or ends the song, and for every V → I movement (like D7 → G). A key written in the song ("Key: G" or {key: G}) always wins. The answer comes with a confidence level and the two next most likely keys. Relative keys (like C major and A minor) share all their chords, so the tool says "likely" rather than "sure" when only the home chord tells them apart.
4. Suggesting a capo
A capo raises the pitch one semitone per fret, so a song in B♭ played with a capo on fret 3 uses G shapes. For each capo position from 0 to 7, the tool works out the shapes and gives each one a difficulty score from its easiest checked fingering: open chords score lowest, barre chords, four-finger shapes and high positions score higher. The position with the lowest average over the whole song is "the easiest way to play".
The same scores rank the 12 keys: the song is moved to each key, the chords you would play there (without a capo) are scored, and the easiest keys are listed first, together with how far each one is from the original key, because a new key also changes how high the song is to sing.
Song sheets often say "Capo 3" at the top. Their chords are shapes, so the tool reads the key of the shapes and adds the capo to tell you the key you actually hear. One tap moves every chord up by the capo fret to show the real chords and leaves out the capo line.
5. Chord diagrams
Guitar and ukulele shapes start from the open chord database chords-db. Before a shape is shown, our software checks that every note belongs to the chord and that the important notes (third, seventh, any altered note) are there; shapes that fail are left out. Chords missing from the database, like most slash chords, are worked out with the same rules. Piano diagrams are drawn from the chord's notes.
"Play the chords" plays these same shapes (or the piano notes) in song order, two beats each, with a small synthesizer built into the page: plucked strings for guitar and ukulele, a soft piano tone for piano. Nothing is downloaded and nothing plays until you press Play.
6. Privacy
All of this runs in your browser. Your song is never uploaded, and the tools keep working if your connection drops. Settings like text size are saved on your device; songs are saved only if you choose to. Share links carry the song inside the link after the # sign, a part of the address that browsers don't send to servers. Details are in the privacy policy.
7. Test results
The music engine has an automated test suite that runs before every update. It includes 588 chord spellings, every chord type moved to all 24 keys, round trips through every key, real song layouts and 52 known chord progressions. Results of the last run (October 13, 2026):
| What is tested | Tests | Passed |
|---|---|---|
| Parser: 500+ chord spellings parse and print back unchanged | 7 | 7 |
| Spelling: every chord type moved to all 24 keys | 36 | 36 |
| Round trip (+n then −n) and alignment columns | 13 | 13 |
| Line detection: over-lyrics, inline, [ch], bars, tabs, tricky words | 50 | 50 |
| Key detection: known progressions (≥ 90 % top-1, 100 % top-3) | 6 | 6 |
| Capo and easiest key: B♭ → capo 3 G shapes; E♭ → capo 1 D / capo 3 C | 9 | 9 |
| Nashville / Roman numerals: round trip in all keys | 7 | 7 |
| Instrument table matches docs/sources.md | 2 | 2 |
| Voicings checked, diagrams accessible | 8 | 8 |
| Chord identifier: notes → chord names | 5 | 5 |
| Progression generator: chord functions in all 24 keys | 2 | 2 |
| Chord library: checked shapes, notes and FAQ on every page | 4 | 4 |
| Sheet music: MusicXML notes, keys, chord symbols, accidentals | 14 | 14 |
| Chord sheet maker: chords stay with their lyric lines while editing | 7 | 7 |
| MP3 transposer: FFT, key of a recording, WAV files | 9 | 9 |
| Tuner and vocal range test: pitch detection, notes, tunings | 18 | 18 |
| Note names: Do Re Mi and German (H, B) read, moved, detected | 97 | 97 |
| Setlists and backups: editing, reading, merging, same view | 9 | 9 |
| Wrapping long lines: chords stay over their words at every width | 6 | 6 |
Limits we know about: a song that changes key in the middle is analysed as one key (paste each part separately), and very unusual chord names may be listed as "couldn't read" and left as they are.
Related tools
Last updated: