Morse Code Translator & Audio Decoder
Type on either side and the other follows. Nothing is dropped without saying so, the timing is the one the standard specifies, and a recording can go back the other way — tone, speed and threshold all measured rather than assumed.
How it works
Type it
Either box drives the other. Punctuation, accented letters and prosigns like <SK> are all in the table, and anything that genuinely has no code is marked rather than deleted.
Shape the sending
Character speed and overall speed are separate dials, which is what Farnsworth means. Tone and waveform are yours too, and the timeline shows every dit, dah and gap at its real length before you press play.
Or let it listen
Open a recording or use the microphone. It sweeps for the carrier, thresholds the envelope with Otsu, clusters the run lengths to find the unit, and reports the tone, the speed and how cleanly it separated.
Take it with you
Copy either side, download the tone as a WAV rendered offline at full quality, or hand the message straight to another tool in the suite.
The whole alphabet
Letters, digits, the eighteen punctuation marks, the national accented letters, and the prosigns operators actually send. Anything with no code is flagged instead of quietly deleted.
One oscillator, one envelope
The whole message is a single tone gated by a scheduled gain curve with 5 ms ramps, rather than one oscillator per dit. Fewer nodes, no key clicks, and one audio context reused instead of a new one per press.
It can hear
Point it at a recording or the microphone. A Goertzel sweep finds the carrier, Otsu thresholds the envelope, and clustering the run lengths gives the unit — so tone and speed are measured, not assumed.
Farnsworth, properly
Character speed and overall speed are separate, with the extra time spread over the gaps in the 3:4 ratio the ARRL specifies. That is how you learn to hear letters instead of counting dots.
A timeline you can read
Every dit, dah and gap drawn at its real length, with the playhead moving across it. Hovering a block tells you how many milliseconds it lasts.
Export the tone
Rendered offline into a 16-bit WAV at 44.1 kHz, so it can go into a video, a lesson or a ringtone without re-recording it off the speakers.
Nothing is uploaded
Translation, synthesis and decoding all happen in this tab. The microphone stream never leaves the page and no recording is stored anywhere.
Hands off to the rest of the suite
Send the message straight to AudioSnap, Binary-Flow, QR Bolt or WordFlow without downloading and re-uploading it.
Both directions, and neither of them guessing
A keyer and a receiver in one page: the full ITU alphabet with punctuation and prosigns, standard PARIS timing with Farnsworth spacing, and a decoder that reads Morse back out of a recording.
The browser is the transmitter
Web Audio synthesises the tone, an offline context renders the WAV, and decodeAudioData plus a Goertzel filter read a recording back. None of it needs a server, an account or a network request, and closing the tab is all it takes for the message and the recording to be gone.
For learning it, and for reading it
Learning Morse means hearing characters at full speed with room between them, which is exactly what Farnsworth spacing is for, so character speed and overall speed are separate here. Reading it means the other direction: a clip from a film, a beacon recorded off a receiver, a puzzle someone sent as an audio note. Both live on the same page, and the second one tells you what it measured — the tone in hertz, the unit in milliseconds, the resulting words per minute and how cleanly the marks separated from the spaces — so a wrong answer can be argued with instead of just being wrong.
Your content never leaves this tab: it is not uploaded, stored or logged anywhere. The site does count how many times each tool is opened, as a plain total with no cookie and no identifier — nothing that could tie a visit to you.
Frequently Asked Questions
QIs my text or my recording sent anywhere?+
No. Translation, tone synthesis, WAV rendering and audio decoding all run inside your browser. The microphone stream never leaves the page and nothing is stored between visits.
QWhich characters are supported?+
The full ITU set: A–Z, 0–9, eighteen punctuation marks, the national accented letters (À, Ä, Ç, É, Ñ, Ö, Ü, ß and friends) and the common prosigns, which you type in angle brackets like <SK>. A character with no Morse equivalent is marked with # and listed, rather than dropped.
QWhat is the difference between character speed and overall speed?+
That is Farnsworth spacing. The dits and dahs are sent at the character speed you set, while the gaps between letters and words are stretched until the whole message comes out at the overall speed. It is how you learn to recognise a letter by its rhythm instead of counting elements.
QHow does it decode a recording?+
It sweeps 250–1600 Hz with a Goertzel filter to find the carrier, measures the magnitude at that one frequency in 5 ms windows to get an envelope, picks the on/off threshold with Otsu’s method, and clusters the resulting run lengths to find the unit. Tone, unit length, speed and the separation between the two clusters are all reported.
QThe decoder got it wrong. Why?+
Look at the separation figure and the envelope graph. A noisy recording, a fading signal or a hand-sent fist with uneven spacing makes the marks and spaces overlap, and when they overlap there is no threshold that splits them correctly. Trimming the clip to the cleanest part usually fixes it.
QCan I use the audio elsewhere?+
Yes. The WAV is rendered offline at 44.1 kHz, 16-bit mono, at whatever tone, waveform and speed you set, so it drops straight into a video or a lesson.