Audio Morse Decoder
Decode Morse beeps from an audio file or your microphone into Morse code and plain text.
Some puzzles hide a message in a recording of Morse beeps, a CW radio tone, or a sounder. Upload an audio file or listen live through your microphone and this tool finds the tone, times the on and off beeps, and reads them back as Morse code and plain text. The frequency and timing are worked out automatically, so most clean recordings decode straight away. Use the sliders only if a noisy or fast signal needs a nudge. For a blinking light instead of sound, use the Animated Morse Decoder.
Audio input
Fine tuning
These start from values picked automatically from your recording. Drag a slider to re-decode.
Result
Case
Filter
Whitespace
Find & Replace
Group
How it works
The recording is mixed down to a single mono channel. To find the beep tone, a Goertzel filter sweeps from 300 to 1200 Hz and keeps the frequency with the most energy, the same band most CW and beeper signals fall in. You can override this if the tone sits elsewhere.
The energy at that frequency is then measured in short overlapping windows to build an on and off envelope. A beep louder than the threshold counts as on, quieter as off. Same-state windows are grouped into runs and timed.
Short on runs become dots and long on runs become dashes, split by the dot or dash slider. Off runs become spacing: a short gap stays inside one letter, a medium gap separates letters, and a long gap separates words. The dot unit is the shortest reliable beep. Morse gaps are 1, 3, and 7 dot units, so the tool classifies them at the boundaries in between (about 2 and 5 units), which also gives the estimated speed in words per minute. Finally the dots and dashes are read back through a standard international Morse table.