An online MIDI player with real instrument sounds
This MIDI player online plays Standard MIDI Files — .mid, .midi, karaoke .kar and RIFF .rmi — straight in your browser. Drop a file and press Play: every channel is rendered with a General MIDI SoundFont, a bank of recorded instrument samples, so pianos, strings, guitars and drum kits sound like instruments rather than beeps. Notes fall onto an on-screen piano keyboard as they play, so you can follow the melody, learn a part or check an arrangement.
You can slow a piece down to practise it or speed it up, transpose it into another key, mute channels to hear a single part, and jump anywhere with the seek bar. Composers and game modders can load their own SF2, SF3 or DLS SoundFont to hear a file the way it will sound in their project. A short public-domain tune, Beethoven’s “Ode to Joy”, is loaded so you can try it at once.
How to use the MIDI Player
- Drop a .mid, .midi, .kar or .rmi file on the box, or click it to choose one. Its title, length, tempo, note count and channels appear, and the notes are drawn above the keyboard.
- Press Play. The first time, the General MIDI sound set (14.6 MB) downloads and is cached by your browser.
- Drag Tempo (25–200 %) to slow down or speed up without changing pitch, and Transpose to move the music up or down by up to 12 semitones.
- Use the seek bar to jump, tick Repeat to loop, and untick channels under Channels to mute them.
- To use your own instruments, press Use your own SoundFont and choose an .sf2, .sf3 or .dls file.
MIDI Player features
Real SoundFont synthesis
A complete SoundFont 2 synthesiser with envelopes, filters, modulators, reverb and chorus plays all 16 channels (more for multi-port files), with GM, GS and XG bank selects.
Load your own SF2
Swap the built-in General MIDI set for any .sf2, .sf3 or DLS bank on your computer; it never leaves your device.
Falling-note piano roll
Notes are coloured by channel and fall onto a keyboard that lights up as they play; drums are left off the keyboard because they have no pitch.
Tempo and transpose
Change speed from 25 % to 200 % and key by ±12 semitones while the music plays. Drum parts are not transposed.
Mute any channel
Each channel is listed with its General MIDI instrument and note count — untick it to hear the rest of the band without it.
Private and free
No upload, no account, no ads in the audio. Everything is processed by your browser.
What is a MIDI file, and why does it need a SoundFont?
A MIDI file contains no audio. It is a score for machines: which note to start, how hard, on which of 16 channels, when to stop it, and which instrument (“program”) each channel should use. The sound comes from whatever synthesiser plays it, which is why the same .mid file sounds different on a phone, a keyboard and a computer. General MIDI (GM), agreed in 1991, fixed the program numbers — 1 is Acoustic Grand Piano, 25 nylon guitar, 41 violin — and put drums on channel 10, so a file sounds roughly right everywhere.
A SoundFont is a sample bank for such a synthesiser. This player uses FluidR3 Mono, a free General MIDI SoundFont by Frank Wen and Michael Cowgill released under the MIT licence, decoded and played by spessasynth_core (Apache-2.0), an open-source synthesiser written in JavaScript.
Tempo, transpose and the keyboard view
MIDI files change speed by stretching time, not audio, so slowing down never sounds smeared. The keyboard shows only the octaves the piece uses. To see the notes of a chord you hear, pause and read the lit keys, or look it up in the Piano Chord Finder; to play along yourself, open the Online Piano in another tab.
| Control | What it changes | Typical use |
|---|---|---|
| Tempo 50–75 % | Plays slower; the pitch stays the same | Learning a fast passage, following along on a real instrument |
| Tempo 125–200 % | Plays faster | Skimming through a long file |
| Transpose −12 to +12 | Moves every pitched note by semitones | Finding a key that suits a singer; −12/+12 is one octave |
| Channel tick boxes | Mutes or unmutes one MIDI channel | Hearing the bass line alone, or playing along without the melody |
Good to know
- Changes to tempo, transpose and mutes are heard within about a third of a second, because the audio is prepared slightly ahead to play without gaps.
- Jumping into the middle of a long held note leaves it silent until the next note starts, as on most MIDI players.
- Karaoke .kar files play normally; their lyrics are not displayed.
- RIFF .rmi files that carry their own sound bank are played with the General MIDI set, or with the SoundFont you load.
MIDI Player FAQ
How do I play a MIDI file online?
Drop the .mid file on this page and press Play. The first Play downloads a 14.6 MB General MIDI sound set, which your browser keeps for next time.
Can I use my own SF2 SoundFont?
Yes. Press Use your own SoundFont and choose an .sf2, .sf3 or .dls file. It is loaded into the player in your browser and is not uploaded.
Why does my MIDI file sound different from other players?
A MIDI file only stores notes; each player supplies its own instrument sounds. Load the SoundFont you normally use to hear it the same way.
Can I slow down a MIDI file without changing the pitch?
Yes. Drag Tempo below 100 %. MIDI is a list of note events, so the player simply spaces them further apart while every note keeps its pitch.
How do I change the key of a MIDI song?
Move Transpose. +2 raises everything by a whole tone, −12 drops it an octave; drum channels stay as they are.
Is it safe and free?
Yes. There is no sign-up, and files are read and played only in your browser.
Does it work on phones?
Yes, in current mobile browsers. Large SoundFonts need plenty of memory, so the built-in set is the safest choice on a phone.