Free online
MIDI Player
Play any MIDI file with real instruments and watch the notes land on a keyboard. Every part plays on the instrument the file asks for — swap or mute any of them, slow it down, change the key, load your own SoundFont — or pick one of 400 pieces from the sheet music library and read along. Nothing is uploaded.
- 407pieces in the library, sheet music included
- Every part on its own instrument — swap or mute any
- Runs in your browser — nothing uploaded
Drop a MIDI file here
or choose a file
.mid, .midi, .kar and .rmi — any size, any number of tracks
Your file never leaves this browser. Nothing is uploaded.
Every piece has its sheet music on the site — the link appears once it is loaded.
GeneralUser GS, 8 MB, fetched once and cached by your browser.
Want it as an MP3?
The MIDI to MP3 converter uses this same synthesiser and these same controls, and renders the file in seconds.
- Nothing is uploaded The synthesiser runs on your own machine. Your MIDI file never touches a server.
- No size or length limit A four-bar loop or a forty-minute symphony. There is no cap and no queue.
- Free, no account No signup, no credits, no trial. Play as many files as you like.
Hear the file the way it was written
A real SoundFont synthesiser, a falling-notes roll over a keyboard, and the same controls as the converter — so what you play here is what you can render there.
Every part on its own instrument — and a library with the sheet music
A MIDI file names an instrument for each of its parts, and most browser players ignore that and play everything on one piano. This one reads the file the way a synthesiser does: the piano part on a piano, the bass on a bass, the drums on a drum kit, each in its own colour on the roll. Any part can be swapped for one of the 128 General MIDI instruments or muted — mute the melody and play it yourself over the accompaniment. And because this site is a sheet music library with a MIDI file behind every piece, the library is a song picker: choose a piece, hear it, and follow the link to its sheet music.
-
Falling notes over a keyboard
Notes fall onto the keys they belong to at the moment they sound, coloured by part, with the sounding keys lit. It is the view every piano-learning app has settled on, because it shows you what to play and when without reading notation. Choose how far ahead you see — two, four or eight seconds — and click anywhere on the roll to jump there.
-
A real SoundFont, or bring your own
Playback uses GeneralUser GS, a complete General MIDI bank with 274 instruments and 13 drum kits. If you have a SoundFont you prefer, load the .sf2, .sf3 or .dls and the file plays with it instead. It is read in your browser; it is not uploaded either.
-
Slow it down, change the key, loop it
Tempo from half speed to double, with the roll slowing to match — the way to learn a fast passage. Transpose up to an octave either way for a singer or a different instrument; drums stay put. Loop the whole file while you practise.
-
Reverb and chorus, as written
MIDI files carry reverb and chorus levels per part. They are honoured, and can be switched off for a dry, close sound.
-
Then render it
The MIDI to MP3 converter is the same synthesiser with the same controls. When the file sounds right here, render it to MP3, WAV or Ogg there in seconds.
-
Format 0, Format 1, karaoke and RMID
Single-track and multi-track standard MIDI files, .kar karaoke files and .rmi files with an embedded SoundFont are all read. Up to sixteen channels per port, with program changes, pitch bends, sustain and expression controllers.
Playing a MIDI file in three steps
-
Drop in a MIDI file, or pick a piece
Drag a .mid, .midi, .kar or .rmi onto the panel, or choose one of 400 pieces from the library. The parts, instruments, tempo and length appear immediately; the synthesiser and its 8 MB sound bank load in the background the first time and your browser keeps them.
-
Press play and watch
Notes fall onto the keyboard as they sound, one colour per part. Scrub, loop, or click on the roll to jump. Slow the tempo down or change the key at any point.
-
Make it yours
Swap any part's instrument, mute the ones you want to play yourself, or load your own SoundFont. Then render it to MP3 or WAV, or open the piece's sheet music and read along.
Looking for something different?
This tool plays a MIDI file and shows you the notes. If you want a file you can send to someone, or you are starting from a recording, start somewhere else.
-
You want an MP3 or WAV of it
The MIDI to MP3 converter uses this same synthesiser and these same controls, and renders the file in seconds.
-
You have a recording, not a MIDI file
Transcribe an MP3, WAV or video into MIDI, any instrument, chords included — or paste a YouTube link.
How the player works
SpessaSynth and the GeneralUser GS bank, running on your own machine.
The synthesiser
SpessaSynth, an open-source SoundFont 2 / SF3 / DLS synthesiser written in TypeScript and released under the Apache 2.0 licence. It implements the SoundFont specification the way a hardware sampler does — sixteen channels, sample-based voices with envelopes, filters, LFOs and modulators — and understands the General MIDI, GS and XG extensions real-world files use for drum kits and bank selects.
- Engine
- SpessaSynth (spessasynth_lib 4.3)
- Sound bank
- GeneralUser GS 2.0.3 — 274 instruments, 13 drum kits, 920 samples
- Bank download
- 8.4 MB (SF3, Vorbis-compressed), fetched once
- Channels
- 16 per port, multi-port files supported
- Polyphony
- Up to 350 simultaneous voices
Where it runs
Everything happens in this tab. The synthesiser runs in a Web Worker so it never blocks the page, and feeds a small AudioWorklet for playback. The roll is drawn on a canvas from the file's own note list, following the sequencer's clock on every animation frame. No part of the MIDI file, or of a SoundFont you load, is transmitted anywhere.
What the settings change
- Instrument swaps lock a program on that channel, so the file's own program changes cannot override your choice mid-song.
- Tempo rewrites every tempo event in the file by the same factor before it reaches the synthesiser; the roll is rebuilt from the re-timed file so picture and sound stay together.
- Transpose shifts each pitched channel by whole semitones; the drum channel is excluded because on a drum kit each key is a different sound.
- Mute silences a channel in the synthesiser and hides it on the roll.
- A SoundFont you load takes priority over the built-in bank; any preset it lacks falls back to GeneralUser GS.
The library
Every piece in the sheet music catalogue has a MIDI file behind it — the same file the sheet was engraved from. The picker lists them by category; loading one fetches that file and shows the link to its sheet page, so the player and the score are two views of the same music.
Good to know
- The sound bank is cached by your browser after the first load, so later visits start immediately.
- Files that rely on a specific commercial sound module (Roland SC-88 variations, XG-only voices) play with the closest General MIDI equivalent.
- Safari supports everything used here from version 14.1; Chrome, Edge and Firefox from their current releases.
Frequently asked
How do I play a MIDI file online?
Three steps, none of which need an account:
- Drop your .mid or .midi file onto the panel above, or pick a piece from the library.
- Press play. Every part plays on its own instrument, and the notes fall onto the keyboard as they sound.
- Swap instruments, mute parts, change tempo or key as you like — or render it to MP3 with the converter.
Why does my MIDI file sound different in every player?
Because a MIDI file contains no sound. It is a list of instructions — play this note, on this instrument number, at this time — and whatever plays it back supplies the sounds from a sound bank. Windows' built-in synthesiser, a phone, a DAW and a keyboard all have different banks, so the same file sounds different on each. This player uses GeneralUser GS, one of the best free General MIDI banks, and lets you load your own.
Does it play the instruments the file asks for?
Yes. The file's program changes are read per channel, including bank selects for GS and XG files, and each part plays with the instrument it names — not with one piano applied to everything. Channel 10 is treated as drums in the General MIDI way.
Can I change the instruments?
Yes. Every part is listed with the instrument it asks for, and each can be swapped for any of the 128 General MIDI instruments or muted. The swap takes effect immediately, mid-playback.
What are the falling notes?
A way of showing the music that does not need notation. Pitch runs left to right across a keyboard; time runs top to bottom; each note is a bar that falls onto the key it belongs to at the moment it sounds, in the colour of its part. The keys light as the notes reach them. Choose how many seconds ahead you see, and click on the roll to jump.
Can I use it to learn a piece?
That is what the controls are for. Slow the tempo to half speed, loop the file, mute the part you want to play yourself and keep the accompaniment, and transpose if you play a transposing instrument. Pieces from the library link to their sheet music, so you can read and listen at the same time.
What is a SoundFont, and can I use my own?
A SoundFont (.sf2, or the compressed .sf3) is a bank of recorded instrument samples plus the rules for playing them — the thing that turns MIDI instructions into sound. This player ships with GeneralUser GS (274 instruments, 13 drum kits). Load your own .sf2, .sf3 or .dls and the file plays with it instead; it is read in your browser and never uploaded.
Which MIDI files does it play?
Standard MIDI files in Format 0 and Format 1 (.mid, .midi), karaoke files (.kar) and RMID files with an embedded bank (.rmi). Up to sixteen channels per port, multi-port files included.
Is there a file size or length limit?
No. The file is read on your own machine, so there is no upload to cap. Very long files simply take a moment longer to parse.
Is my MIDI file uploaded anywhere?
No. The synthesiser and the sound bank run inside this browser tab. The only download is the bank itself, which your browser caches. Your file, and any SoundFont you load, never leave your device.
Which pieces are in the library?
Every piece in the site's sheet music catalogue with a MIDI file behind it — around 400 arrangements across anime, film and TV, games, classical, artists and world music, at beginner, intermediate and advanced levels. Pick one from the list under the drop zone.
How do I turn the MIDI into an MP3?
With the MIDI to MP3 converter, which is this same synthesiser with these same controls plus a render button. It writes MP3, WAV or Ogg in seconds, on your machine.
Can I connect a MIDI keyboard?
Not yet. The player is for listening and watching; it does not read MIDI input. If you want to play along, mute the part you are playing and use the roll as your guide.
Does it work on a phone?
Yes, in any current mobile browser. The roll fits the screen width, so on a phone the keyboard range is narrower; turn the phone sideways for a wider view.