Morse to text · spacing · character sets
Morse Code Decoder — Translate Morse Code to Text
Paste a sequence of dots and dashes and read the plain text immediately. The decoder understands the usual space between letters, the slash between words, and the newline or three-space word gaps people use in notes and printouts.
Letters, numbers and punctuation. Case is ignored.
Space between letters, / between words. · — _ and newlines are accepted.
Ready — edit either panel.
Conversion and audio run in your browser. Nothing is uploaded.
How to decode Morse code
Decoding is the reverse of generating: the receiver groups the dots and dashes into characters, then maps each group to a letter, number or punctuation mark. The hard part is not the table; it is knowing where one character ends and the next begins.
- Paste the code. Put it in the right-hand panel. The example above already shows
HELLO WORLDso you can see the format. - Keep the separators. One space separates letters; a slash separates words. If the source uses line breaks, the decoder treats each line break as a word gap.
- Read or copy the text. The left panel updates as you edit. Use Copy text to take the result with you.
This is what people usually mean by Morse code to English: not a translation between languages, but a mapping from signal patterns to the characters of the English alphabet.
Spacing rules that make decoding work
Morse code has no built-in way to mark the end of a character. The receiver relies on timing: one unit between the parts of a character, three units between letters, seven units between words. In written Morse, those gaps become a space and a slash.
... --- ... decodes to SOS. ...---... is one unknown group, not three letters, because the decoder cannot tell where one character stops. If your pasted code produces a single#, the first thing to check is whether the spaces between letters are missing.
Extra whitespace is harmless. The decoder collapses runs of spaces and accepts the slash with or without spaces around it. What it cannot recover is a boundary that was never written.
Why the decoder shows #
The # marker is deliberate. Instead of silently dropping a character or returning a result that looks complete, the decoder leaves a visible placeholder at the exact position that failed. There are three common reasons:
- The character has no Morse code. Emoji, currency symbols and other characters outside the International set cannot be encoded. Replace them with a supported spelling.
- The code is not in the selected character set. A Cyrillic or Greek code may not exist in the Latin table, or the same code may belong to a different letter. Switch the Character set menu to the right writing system.
- The code is malformed or has no separators. A code with the wrong number of symbols, or several letters run together, cannot be matched. Add the missing spaces and try again.
Invisible characters such as zero-width joiners and the byte-order mark are ignored rather than marked. If the source came from a chat app or a word processor, paste it into a plain-text editor first to remove hidden formatting.
Decoding other Morse code alphabets
The decoder supports more than the Latin alphabet. Use the Character set menu to choose Latin Extended, Cyrillic, Greek, Hebrew, Arabic, Persian, Japanese (Wabun), Korean or Thai. The selected set is searched first, which matters when two letters share a code.
For example, ..-.. is É in Latin Extended but belongs to a different letter in Cyrillic. A Thai code can map to several letters that sound the same. Choosing the wrong set does not usually produce a visible error; it produces a plausible but wrong letter. If the decoded text looks like the right writing system but the words are nonsense, check the set before assuming the code is damaged.
For English text, leave the selector on Latin. For a message copied from a Japanese or Korean source, choose that set first. The Morse code alphabet page shows the Latin chart with click-to-hear audio.
Common codes you will see
| Code | Meaning |
|---|---|
... --- ... | SOS, the international distress signal |
-.-. | CQ, “calling any station” in amateur radio |
--... ...-- | 73, “best regards” at the end of a contact |
-.-. --.- | CQ, often repeated as CQ CQ |
-- .- -.-- -.. .- -.-- | MAYDAY, the voice distress call |
Read the full story and timing of SOS in Morse code, or generate a reply with the Morse code generator.
Morse code decoder FAQ
How do I decode Morse code to text?
Paste the dots and dashes into the Morse panel. Keep one space between letters and a slash between words. The text panel updates as you type, and you can copy the result.
Is Morse code to English a translation?
No. Morse code is a way of spelling characters, not a language. Morse code to English means mapping each code back to the Latin letter or punctuation mark it represents.
Why does the decoder show #?
A # means the decoder could not match a character or a code. It can be an unsupported character, a code from another writing system, or a missing space between letters. The marker stays visible so you can fix the exact spot.
Can I decode Morse code that uses newlines instead of slashes?
Yes. The decoder treats a newline as a word gap, and it also accepts three-space word gaps, middle dots and long dashes.
Which character set should I choose?
Leave it on Latin for English. Choose Cyrillic, Greek, Hebrew, Arabic, Persian, Japanese, Korean or Thai when the message uses that writing system, because some codes are shared by more than one letter.
Related tools
Morse Code Generator
Turn text into Morse code, with audio and WAV export.
Morse Code Alphabet
The full Latin chart with click-to-hear audio and a printable layout.
SOS in Morse Code
Why the distress signal is three dots, three dashes, three dots.