MIDI File Transposer

Upload a MIDI file, choose how many semitones to shift, and download the transposed version. Everything runs in your browser. Your files never leave your device.

Share

Drag and drop a .mid or .midi file here, or click to browse

How to Transpose a MIDI File: Semitones, Keys, and What Happens to Your Notes

Transposing a MIDI file is not the same as transposing audio. With audio, pitch-shifting involves time-stretching algorithms that can introduce artifacts, especially past four or five semitones. With MIDI, transposition is arithmetic. Every note in the file stores its pitch as a number from 0 to 127 (called a MIDI note number), and transposing means adding or subtracting a whole number from each one. Middle C is note 60. C one octave up is note 72. Move everything up by two semitones and every note shifts by exactly two, with no quality loss whatsoever.

This tool reads your MIDI file in the browser using the Tone.js MIDI library, modifies each note's pitch value, and writes a new file. The process is lossless and takes milliseconds.

What MIDI Note Numbers Are and Why the Range Is 0 to 127

The MIDI specification, published by the MIDI Manufacturers Association in 1983 and still governing the protocol today, allocates seven bits to encode pitch. Seven bits give 128 possible values: 0 to 127. Note 0 is C in the subcontraoctave (C-1), which at standard 440 Hz tuning sits at 8.18 Hz, well below the threshold of human hearing. Note 127 is G9, about 12,544 Hz, which is audible but rarely used in practical music. The functional range for most instruments sits between note 21 (A0, the lowest key on a standard piano) and note 108 (C8, the highest key on a standard piano).

When you transpose upward by a large interval, notes near the top of your file's range can exceed 127 and get clamped. The tool warns you when this happens and tells you how many notes are affected. If you see this warning, you have two options: reduce the transposition amount, or accept that those notes will sit at MIDI 127 (G9) in the output file.

Why You Might Need to Transpose a MIDI File

The most common reason is vocal range. A song written in G major for a baritone might need to sit in Bb major for a soprano, which requires transposing up two semitones. Rather than manually moving every note in a piano roll, you can transpose the entire MIDI file in seconds and re-import it into your DAW. The result is the same as if you had originally written the part in the new key.

A second common reason is instrument transposition. B-flat instruments like the tenor saxophone and trumpet read music in a different key from concert pitch. A MIDI file written in concert pitch needs to be transposed up two semitones (for B-flat instruments) or up three semitones (for E-flat instruments like the alto saxophone) before sending to a musician who will play from the MIDI or from sheet music generated from it. The MIDI to Sheet Music converter can render the transposed file as printable notation.

A third reason is capo compatibility. Guitarists often use a capo to play open chord shapes in a different sounding key. If you composed a track with guitar MIDI in a capo-friendly key and need the final MIDI to reflect the actual sounding pitches, transposing by the capo fret number gives you the concert-pitch version. The Capo Position Calculator tells you exactly how many semitones a given capo position raises the pitch.

What a Semitone Is and How Intervals Map to It

A semitone is the smallest interval in standard Western tuning, the distance between any two adjacent keys on a piano. There are 12 semitones in an octave. The table below shows the most useful transposition intervals and the number of semitones each one corresponds to. The quick-transpose buttons in this tool cover all of these.

  • Half step (minor second): 1 semitone
  • Whole step (major second): 2 semitones
  • Minor third: 3 semitones
  • Major third: 4 semitones
  • Perfect fourth: 5 semitones
  • Tritone (augmented fourth / diminished fifth): 6 semitones
  • Perfect fifth: 7 semitones
  • Minor sixth: 8 semitones
  • Major sixth: 9 semitones
  • Minor seventh: 10 semitones
  • Major seventh: 11 semitones
  • Octave: 12 semitones

Moving by a perfect fifth (+7 semitones) is the interval that defines the Circle of Fifths, which is why it appears as a dedicated quick-transpose button. Moving up by 7 semitones from C major lands in G major. Moving down by 7 (or up by 5, which is a perfect fourth) from C major lands in F major. These are the two most closely related keys in Western harmony, which is why film composers and producers frequently transpose by a fifth when they want a new key that shares almost all the same notes as the original.

Key Signatures in MIDI Files

MIDI files can optionally include a key signature meta event, stored in the file header. This is metadata, not pitch data. It tells notation software how to display the notes (sharps versus flats) but does not change the actual note pitches. When you transpose this file, the tool reads the key signature and shows you what the new key will be after transposition, so you can verify the result before downloading.

Many MIDI files exported from DAWs do not contain a key signature event because DAWs do not always write one. If the tool shows "None detected" for the key signature, that is normal. Your notes will still transpose correctly. The key signature display is informational; the actual transposition operates on the note pitch numbers regardless of whether a key signature is present.

Type 0 Versus Type 1 MIDI Files

Standard MIDI files come in three formats. Type 0 files contain all tracks merged into a single track. Type 1 files contain multiple tracks in a multi-track format and are the most common format exported by modern DAWs. Type 2 files (independent patterns) are rarely used. This tool transposes notes across all tracks, so both Type 0 and Type 1 files work correctly. The file info card shows the number of tracks so you know which format your file uses.

For multi-track Type 1 files where different tracks represent different instruments, this tool lets you choose which tracks to transpose on a per-track basis. Drum tracks on General MIDI channel 10 are automatically excluded by default, since they are mapped to specific percussion sounds by note number rather than pitch — transposing them would remap which drum sounds trigger rather than changing pitch. You can override this and include or exclude any track individually using the track list controls.

How to Use the Transposed MIDI File in Your DAW

After downloading the transposed file, import it into your DAW using File > Import MIDI (the exact menu varies by DAW). In Ableton Live, drag the .mid file directly into the arrangement or session view. In Logic Pro, use File > Import > MIDI File or drag into the Tracks area. In FL Studio, open the Piano Roll and drag in the file, or use Channels > Add MIDI. In Reaper, drag the file into the project and select "Import as MIDI."

The transposed file is otherwise identical to the original. Tempo, time signature, controller data, program change events, and all timing information are preserved. Only the note pitch values change.

If your workflow involves generating chord charts or lead sheets after transposition, convert the downloaded file with the MIDI to Sheet Music tool. For checking whether the new key sits well in a particular mode or scale, the Key and Scale Finder lets you enter the notes of your transposed passage and see every matching scale and mode.

From the Blog

View All