Morse Code binary tree decoder

Decoding tree

left branch = dot  ·  right branch = dash

Tap any node to jump the path there. Scroll the tree sideways on a narrow screen.

Straight key

Tape

Sending

Text → Morse

Morse → Text

One space between letters, / between words. Dots and dashes only.

International Morse — tap to hear

Drill

?
listen — type the character
0/0 right accuracy 0% best streak 0

Settings

Mode
Character set

The Koch method teaches at full speed from two characters and adds one at a time once you hold 90 % accuracy.

How the tree works

Morse is a prefix code, so every symbol is a walk down a binary tree. Start at the root; a dot takes the left branch, a dash the right. After . you are at E; add another . and you are at I; a - instead lands on A. Five levels cover all 26 letters and the ten digits.

That structure is exactly what the handheld Morse keyfob does in hardware: green LEDs trace the branch you are on and a red LED marks the character you landed on. This page is that device in software, plus a translator and a trainer.

Timing

Everything uses the PARIS standard, where one time unit is 1200 / WPM milliseconds. A dot is 1 unit, a dash 3, the gap inside a character 1, between characters 3, and between words 7. The straight key classifies a press as a dash when you hold it for more than two units, so a change in the speed slider genuinely changes what you can send.

Privacy

No accounts, no analytics, no network calls. The only thing stored is your speed, sidetone and volume, in this browser's local storage. Audio is generated live with the Web Audio API.

Keyboard

space straight key   . dot   - dash. Every control is reachable by tab, including the tree nodes.