Pick a song and press Start. Notes fall toward the key you need to play next, and in Play-along mode the song waits for you, so you can learn at your own pace. The keyboard resizes to show every note the song uses.
Wide song, so the keys use two rows · Turn your phone sideways for one row
On a phoneThe keyboard only shows the range the song needs. Wide songs switch to two rows; turn the phone sideways or tap ⛶ for more room.
On a computerPlay with your keyboard: Z S X D C V… is the lower octave and Q 2 W 3 E R… the one above. The letters are printed on the keys.
Learning a songListen first, then play along at 50–75% speed. The song pauses on each note until you hit the right key.
How to use
Choose a song from the list, pick a mode and press Start. Play along stops on each note and highlights the key in yellow; Listen plays the whole melody for you; Free play turns the keyboard into an open piano, with ◀ ▶ to move between octaves. Use the speed menu to slow a song down, and the note-name button to switch between Do Re Mi, letter names or no labels.
Why the keyboard changes size
A real piano has 52 white keys, about 1.2 metres of them. A phone held upright is roughly 7 cm wide, and a fingertip needs a key at least 40 pixels wide to hit it reliably, so only about eight white keys fit in a row. Squeezing a full octave or two into that space would make every key a mis-tap waiting to happen. Instead, this piano measures the space it has and divides it by a minimum key width: 40 px for touch screens, 44 px on tablets, and 34 px when you use a mouse, which is more precise than a finger.
Then it looks at the song. Every melody uses a limited range: Twinkle, Twinkle needs only six white keys, Happy Birthday eight, Für Elise ten. The keyboard is shifted so the whole range is visible, preferring to start on a C so the layout matches a printed keyboard diagram. When the range is wider than one row can hold, the keyboard splits into two stacked rows that overlap by one key, so no black key is lost at the join. Notes for the upper row fall in sky blue and notes for the lower row in orange, and turning the phone sideways usually brings everything back onto a single row.
How to learn a song with falling notes
Falling-note displays work because they turn reading music into a timing game you already understand: each bar drops toward the key it belongs to, and its length shows how long the note lasts. Start with Listen mode once or twice so the tune is in your ear. Then switch to Play along at 50 or 75 percent speed. In this mode the music never runs away from you: when a note reaches the line it stops and the matching key glows yellow until you press it. A wrong key flashes red and counts as a miss, but the song simply waits.
When you finish, the score shows your accuracy: the notes in the song divided by the notes plus misses. Your best score for each song is saved on this device. Once you can play a song at 100 percent without misses, raise the speed, then try hiding the note names so you rely on the shape of the keyboard instead of the labels. That last step is what makes a melody stick.
About the songs
Every melody here is in the public domain: folk songs, nursery tunes and classical pieces whose composers died long ago. Songs are ordered roughly from easiest to hardest. The first five stay within one octave around middle C and mostly use the white keys. Happy Birthday and Jingle Bells add a few leaps. The Minuet in G, long credited to Bach but now attributed to Christian Petzold, uses an F sharp; the opening of Für Elise alternates E and D sharp and spans ten white keys; the Canon theme by Pachelbel moves slowly down the scale before a faster line.
Some pieces are transposed to make them easier to read: Ode to Joy and the Canon are written here in C major instead of their original D major, which keeps them on the white keys. Only the melody is included, so each song can be played with one hand. Rhythms follow the standard versions, with dotted notes kept where they give a tune its character, such as the short pick-up notes of Happy Birthday.
Easy, one octave: Twinkle, Twinkle · Mary Had a Little Lamb · Frère Jacques · Ode to Joy · London Bridge
Medium, a few leaps: Jingle Bells · Happy Birthday
Wider range and black keys: Minuet in G · Für Elise · Canon
A phone held upright only has room for about eight keys that are wide enough to tap accurately. The piano shows exactly the range the chosen song needs, and switches to two rows when a song needs more. Turn the phone sideways or use the full-screen button to get around 18 keys in one row.
Can I play with my computer keyboard?
Yes. The bottom letter row (Z S X D C V G B H N J M) plays the lower octave and the top row (Q 2 W 3 E R 5 T 6 Y 7 U) plays the octave above, with the number keys as black keys. When a mouse is detected, the matching letters are printed on the keys. The space bar starts and pauses the song.
Can I press several keys at once?
Yes. Each finger is tracked separately on touch screens, so you can play chords, and sliding a finger across the keys plays a glissando. On a computer you can hold several letter keys at the same time.
Why is there no sound?
Browsers only allow audio after you touch or click the page, so the first key press switches sound on. On iPhone, also check that the silent switch on the side is off, because it mutes web audio. Bluetooth headphones can add a small delay; the phone speaker or wired headphones respond fastest.
How is accuracy calculated?
Accuracy is the number of notes in the song divided by the notes plus the wrong keys you pressed. A song of 42 notes with 3 misses scores 93 percent. Your best score for each song is stored only in this browser.
Are the songs copyright-free?
Yes. Every melody is a traditional song or a work whose composer died more than 70 years ago, such as Beethoven, Pachelbel or Petzold. The sounds are synthesized in your browser, so no recordings are used either.
Do I need to install anything?
No. The piano runs entirely in the browser on phones, tablets and computers, with no app, sign-up or downloaded sound files. It keeps working offline once the page has loaded.