Morse Decoder
Turn a recording of beeps back into text, working out the sending speed from the signal itself.
You can also drag a file here. WAV, MP3, OGG, FLAC and M4A all work, and nothing is uploaded — the decoding happens in your browser.
Decoded
Dots and dashes
- Tone
- Speed
If that came out as nonsense
The decoder picks the loudest frequency by itself, which goes wrong when something else in the recording is louder than the beeping. Set it by hand here.
Text to Morse
How it works out the speed
Morse has no fixed speed. Everything is relative: a dash is three times a dot, the gap between letters is three dots long, the gap between words is seven. So before anything can be read, the decoder has to measure how long a dot is in this recording.
It does that by sorting the tone lengths into two groups and taking the shorter group as dots. That works even for handsent Morse, where the timing wanders. When every tone is the same length (a message of all dots, say), there's nothing to compare, so it falls back to measuring the gaps inside letters, which are also one dot long.
If the text comes out as gibberish, the usual cause is the wrong tone being picked: a hum, a hiss or background music louder than the beeps. Set the frequency by hand and it will usually fall into place.