Morse Code Translator

Convert text to dots and dashes, read a Morse message, or check a character against the reference table. Letters A-Z and digits use International Morse patterns; the tool also includes punctuation mappings. Other non-whitespace characters use a separate, nonstandard Unicode extension.

Runs locally in your browser

Morse code reference

Look up this tool's letter, digit and punctuation mappings below. For decoding, use spaces between characters and a slash between words.

International Morse patterns for the letters A-Z.

Letters

CharacterDots and dashesCharacterDots and dashesCharacterDots and dashesCharacterDots and dashes
A.-B-...C-.-.D-..
E.F..-.G--.H....
I..J.---K-.-L.-..
M--N-.O---P.--.
Q--.-R.-.S...T-
U..-V...-W.--X-..-
Y-.--Z--..

Digits

CharacterDots and dashesCharacterDots and dashesCharacterDots and dashesCharacterDots and dashes
0-----1.----2..---3...--
4....-5.....6-....7--...
8---..9----.

Punctuation

CharacterDots and dashesCharacterDots and dashesCharacterDots and dashesCharacterDots and dashes
..-.-.-:---...,--..--;-.-.-.
?..--..=-...-'.----./-..-.
!-.-.----....-_..--.-".-..-.
(-.--.)-.--.-$...-..-&.-...
@.--.-.+.-.-.

Write a message or paste its Morse notation

Use the text field for either direction. Conversion runs in the browser without sending the input in conversion requests, and the result is displayed and copied as plain text.

  1. Enter text and click Encode text. For a first example, SOS produces “... --- ...”.
  2. To decode, paste dots and dashes with spaces between characters and a slash between words, then click Decode Morse code. HI ALL is “.... .. / .- .-.. .-..”.
  3. Copy the result. To convert it again, paste it into the input yourself. Editing the input or encountering an error clears the previous result; Clear empties the input and output.

Reading the result

Character gaps, word gaps and punctuation

With the default symbols, each character is one uninterrupted group of dots and dashes. A space separates characters and / separates words. The literal slash character instead encodes as “-..-.”; + is “.-.-.” and - is “-....-”.

The reference table covers 26 letters, 10 digits and 18 punctuation characters. It describes this tool's mappings, not the complete ITU character and procedural-signal repertoire. When decoding, repeated spaces, tabs and line breaks separate characters; three spaces alone do not mark a new word.

What a round trip preserves

ASCII letters a-z return as uppercase A-Z. Encoding removes surrounding whitespace and turns each internal whitespace run into one word boundary. Letter case, repeated spaces and line layout therefore cannot be reconstructed exactly.

Chinese text, accented letters, emoji and other unmapped non-whitespace characters use binary UTF-16 units written with the same symbols. Each newly encoded unit has 16 symbols; 😀 needs two units. This is a nonstandard extension, not International Morse. For example, é becomes ........---.-..- and keeps its accent and case when decoded here.

Opening older encoded text

The decoder also accepts older Unicode-extension groups of 8-16 symbols. Such groups may represent Unicode or control characters, so this tool is not a strict International Morse validator. Unknown shorter groups, groups over 16 symbols and unpaired Unicode surrogates are rejected.

Some short codes from the old converter are ambiguous. Its + used -.-.--, which now correctly decodes as !; its - used -.--.-, which now decodes as ). Missing word spaces in old output cannot be recovered.

Morse conversion questions

Can I listen to the Morse code or decode a recording?

No. This tool works with typed text and dot-dash notation only. It has no sound playback, microphone input, audio-file decoding or transmission-speed controls.

Does encoding a message encrypt it?

No. Morse notation and the Unicode extension are character representations, not encryption. They do not provide secrecy.

Why did decoding clear my result?

Check for non-code characters and missing or repeated word separators. For example, .-x is invalid and ... / / --- contains an empty word. An empty input or an error clears the old output and disables copying, so a previous success is not mistaken for the current result.

Recent tools: