Morse Code Translator
Translate text to Morse code and Morse code back to text, with playable beeps. Free, fast, and your files never leave your device.
Morse is a rhythm, not an alphabet of symbols
Written down, Morse looks like a substitution cipher: A is dot dash, B is dash dot dot dot. Heard, it is something else entirely. The code is built on a single time unit, and everything else is a multiple of it.
- A dot lasts one unit.
- A dash lasts three units.
- The silence between dots and dashes inside one letter lasts one unit.
- The silence between letters lasts three units.
- The silence between words lasts seven units.
That one, three, seven structure is why experienced operators do not count dots. They hear "di-dah" as a single shape, the way you hear a spoken syllable. Get the ratios wrong and the letters blur into each other even when every dot and dash is technically correct.
What the Play button actually does
Audio is generated with the browser's Web Audio API. A sine oscillator at 600 Hz is switched on for one unit for a dot and three units for a dash, with short ramps at each end so you hear a clean tone rather than a click.
The unit here is fixed at 0.09 seconds. Using the usual conversion, where dot length in seconds equals 1.2 divided by words per minute, that works out to roughly 13 words per minute. That is a deliberate speed: slow enough to pick apart when you are starting, close enough to real sending that the rhythm you learn is transferable. There is no speed control on the page.
Letter gaps come out at the standard three units. The word gap, produced by the slash and the spaces around it, runs a little longer than the textbook seven, which makes word boundaries easier to hear while you are learning. In Text to Morse mode the button plays the output box; in Morse to Text mode it plays the dots and dashes you typed on the left, which is handy for checking a transcription you made by ear.
The character table, and where it stops
All 26 letters and all ten digits are here, plus a useful spread of punctuation: full stop, comma, question mark, apostrophe, exclamation mark, slash, both brackets, ampersand, colon, semicolon, equals, plus, hyphen, underscore, quotation mark, dollar sign and the at sign. A couple of those, notably the exclamation mark and dollar sign, sit outside the strict international list and come from American practice, but they are what most Morse charts on the web show.
Nothing else is covered, including accented letters and most brackets and operators. Encode a character with no entry and a literal question mark appears in the output with a warning on the status line. Be careful with that one: a real question mark encodes to ..--.., so a bare ? in the output is a gap, not punctuation. Going the other way, a group of dots and dashes that matches nothing in the table is shown as a shaded block, so you can see which letter failed rather than losing the whole message.
SOS and the prosigns
SOS is not really the letters S, O and S. As a distress signal it is a prosign, sent as one unbroken nine-element run with no letter gaps at all, which is why it is conventionally written with a bar over the top. This tool encodes the word SOS as ... --- ... with normal letter gaps, because it works letter by letter. Written out it is identical; sent by ear it is subtly different from the real thing.
Two other common prosigns fall out of the punctuation table by accident. Typing + gives .-.-., which is AR, the end of message signal. Typing = gives -...-, which is BT, used as a paragraph break. The end of contact prosign SK and the eight-dot error signal have no keyboard equivalent here, so you cannot produce them.
Typing Morse in by hand
Switch to Morse to Text and the parser wants one space between letters and a forward slash between words. So ... --- ... / .... . .-.. .--. comes back as SOS HELP. Extra spaces are tolerated, and the slash does not strictly need spaces around it, but a missing letter gap will silently merge two letters into a code that matches nothing. Periods and hyphens typed from a phone keyboard are the usual culprits when a message will not decode, since autocorrect likes to turn a run of dots into an ellipsis character.
Where else this comes up
Scouting and cadet award schemes still test Morse. Escape rooms use it because a rhythm can be delivered by a flashing light or a knocking sound rather than by text on a page. Amateur radio operators use it because a Morse signal punches through noise at power levels that would make voice unintelligible. For a multi-layer puzzle, the substitutions on the Cipher Decoder page stack neatly on top of a Morse layer, and Binary Translator gives you a third notation for the same phrase.
Practical questions
Can I change the playback speed?
Not on this page. The tone is fixed at 600 Hz with a 0.09 second dot, which is about 13 words per minute. Slowing it down further tends to teach counting rather than rhythm recognition, which is a habit that is hard to unlearn later.
Why did a question mark appear in my Morse output?
Because a character in your text has no entry in the table. The status line says so when it happens. Note that this placeholder looks identical to a genuine question mark, so check your input if you see one you did not expect.
Why does part of my decoded message show as a block?
A group of dots and dashes did not match any letter, number or punctuation mark. Usually the letter gap is missing, so two letters ran together. Count the elements in that group: nothing standard is longer than six.
Is this International Morse or American Morse?
International Morse, the version used worldwide and in amateur radio. American Morse, used on landline telegraphs, had different codes and internal spacing and is not supported.
Does the page send my message anywhere?
No. The lookup table and the audio both live in the page itself, so your message stays in the tab and the translator keeps working with no connection.