A browser piano that reads your MIDI keyboard

A browser can read your keyboard directly. The Web MIDI API has been in Chrome since 2015, it works over a plain USB cable, and it means a piano app with nothing to download and no version that is behind on one of your machines.

Klaviero needs a MIDI keyboard and Chrome, Edge, Firefox or Opera on a desktop or laptop. It cannot run in Safari or on an iPhone or iPad, because Apple does not support the Web MIDI API and requires every iOS browser to use Safari's engine. Full requirements.

How it connects

Plug the keyboard into the laptop over USB and open the page. Since Chrome 124 in April 2024 the whole Web MIDI API sits behind a permission prompt rather than just SysEx, so the browser asks once. That dialog is Chrome's, not Klaviero's. Allow it and it will not ask again.

No driver, no configuration screen, no MIDI channel to pick. If the keyboard shows up as a USB device, it works.

Which browsers, and which cannot

Chrome, Edge, Firefox and Opera on a desktop or laptop. Firefox shipped Web MIDI in version 108.

Safari cannot run it, on any platform, and neither can any browser on an iPhone or iPad. That is not a gap in the app: Apple does not implement Web MIDI and requires every iOS browser to use Safari's engine, so Chrome on iOS is Safari in a different coat. Apple has said it does not plan to implement it. There is no workaround, and anyone telling you otherwise is selling something. The full list is here.

What runs in the tab

4,296 classical charts, 2,907,841 notes in total, both hands colour separated and every one of them measured rather than estimated. The renderer is a canvas, the audio is sampled piano, and the scoring is per note.

Your own MIDI files play too, and an MP3 can be turned into an arrangement in the browser without uploading it anywhere.

Try it on this one

Piano roll of Prelude Op. 28 No. 15 "Raindrop": all 1,518 notes plotted over 4:31, right hand in cyan and left hand in magenta.
The actual chart. Time runs left to right across 4:31, pitch bottom to top, right hand cyan and left hand magenta.

Prelude Op. 28 No. 15 "Raindrop" · F. Chopin · 1,518 notes · 4:31 · peak 8.0 n/s. It is on the free tier, so it needs no card. Plug the keyboard in and press play.

Play Prelude Op. 28 No. 15 "Raindrop" All pieces