UTILS.
100% in-browser
🎼

Song Key & Chord Transposer

Transpose a chord chart up or down by semitones or to a target key, keeping suffixes and slash bass notes, respelled with sharps or flats.

About this tool

Paste a chord chart and shift every chord to a new key in your browser. You can transpose by a number of semitones (positive or negative) or straight to a target key, and choose whether the result is spelled with sharps or flats. Chord qualities like m, 7, maj7 and sus4, as well as slash bass notes such as D/F#, are preserved; any lyrics, section markers or other non-chord text pass through untouched. Everything stays on your device.

Each chord is tokenized into a root (A–G with an optional # or b), a quality suffix and an optional slash bass note. The root is converted to a pitch class from 0 to 11, shifted by the transposition offset using modulo-12 arithmetic, then respelled from the sharp or flat note names you selected. In "to key" mode the offset is the distance from the first chord's root to your target key; in semitone mode it is simply the number you enter.

For example, transposing "C G Am F" up two semitones gives "D A Bm G". Use flats for keys like F, Bb or Eb and sharps for keys like G, D or A to keep the chart readable, then copy the result with one click.

Frequently asked questions

Does it keep chord types like m7 or sus4?
Yes. Only the root and any slash bass note are moved; the suffix (m, 7, maj7, sus4, add9 and so on) is carried across unchanged.
How does it handle slash chords like D/F#?
Both the main chord root and the bass note after the slash are transposed by the same amount, so D/F# up two semitones becomes E/G#.
Why can I choose sharps or flats?
The same pitch can be written two ways (F# or Gb). Picking the spelling that matches your target key makes the chart easier to read for players.
What happens to lyrics or section labels?
Anything that is not a recognizable chord — words, [Verse] markers, bar lines — is left exactly as typed, so your chart layout is kept intact.

More tools