Transpose a chord sheet to a new key

Shift recognized chord symbols in a chord sheet by a fixed signed number of semitones.

freeworks offlinenothing uploaded
ToolChord Key Transposer
Input
Output
Put this on your own site

The frame below runs the same code as this page, in the reader's own browser. Nothing is sent to us, and nothing is sent to you.

Pick a dark background and the text and panels follow it, so the frame stays readable on a dark page.

Preview

How it works

A pattern locates A–G roots with optional accidental, quality, number, and slash bass, then advances each root around a 12-semitone pitch-class array. Both parts of a slash chord move while unmatched lyric and punctuation text stay in place.

  • Offsets are limited to two octaves in either direction.
  • Flat input is normalized to sharp output because only sharp pitch-class names are stored.

Worked example

Transpose a chord sheet to a new key
Input
											Chord sheet: C Am F G7
Semitones: 2
										
Output
												D Bm G A7
											

When to use this

Guitarists adapt sheets to a singer, keyboard players shift slash chords, and rehearsals preserve lyrics while moving detected harmony.

Edge cases

  • Bb normalizes to A# before shifting and remains sharp-spelled in the result.
  • C/G moves both C and its G bass note by the selected interval.
  • A lyric token that resembles a chord can change accidentally because the matcher does not distinguish lyric lines from chord lines.