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.

Textoutput
10 chars

Letters, numbers and punctuation. Case is ignored.

Morse codeinput
32 marks

Space between letters, / between words. · — _ and newlines are accepted.

10 characters2 words32 marks6.66s at 20 WPM

Ready — edit either panel.

Try

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.

  1. Paste the code. Put it in the right-hand panel. The example above already showsHELLO WORLD so you can see the format.
  2. 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.
  3. 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

CodeMeaning
... --- ...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.