Utinzo

Morse Code Translator

Translate text to Morse code and Morse code back to text. Supports letters, numbers, and common punctuation.

Did this tool work for you?

How to use this calculator

  1. 1

    Choose "Text → Morse Code" to encode a message, or "Morse Code → Text" to decode.

  2. 2

    For text to Morse: type any sentence with letters, numbers, or punctuation.

  3. 3

    For Morse to text: use dots (.) and dashes (-) with spaces between letters and / between words.

  4. 4

    Click "Calculate" to translate.

  5. 5

    Use the letter-by-letter breakdown to understand each character.

Frequently asked questions

Which characters can it translate?

Letters A to Z (case does not matter), digits 0 to 9, and these 18 symbols: . , ? ' ! / ( ) & : ; = + - _ " $ @. Anything else, such as accented letters, #, %, *, brackets, currency signs other than $, or emoji, is output as a question mark and listed under “Unsupported characters” in the stats. The letters and digits are the International Morse set, not American Morse.

How are letters and words separated in the output?

One space between letters and a slash with a space on each side between words, as in “... --- ... / .... . .-.. .--.” for “SOS help”. Any run of spaces, tabs or line breaks in your text counts as one word gap, so line breaks are not preserved. The output is plain text, with no audio, light flashes or timing.

How do I format Morse that I want to decode?

Put one space between letters and a / between words; two or more spaces in a row also count as a word gap. Line breaks are treated as spaces. The decoder accepts the typographic dots · • ∙ in place of a full stop, and − – — in place of a hyphen. Any group that is not in the table decodes to ?, and extra spaces never produce a blank letter.

Why does SOS not come out as ···−−−··· ?

The tool encodes S, O and S as three separate letters with spaces between them: “... --- ...”. The distress signal is sent as one unbroken run with no letter gaps, which is a prosign. The tool has no prosigns and no code for them, so for signalling, write the run-together form yourself.

What are the timing rules for sending Morse?

Under the standard convention a dot is one unit and a dash is three units. The gap inside a letter is one unit, between letters three units, and between words seven units. The translator itself outputs only symbols, so speed, tone and spacing are up to whoever sends the message.

Are the punctuation codes universal?

Not entirely. The codes for . , ? / ( ) - and = are widely shared, but marks like ! & ; $ and _ are used with different meanings or are missing from some official lists. The tool applies the table shown on this page, so confirm any punctuation with the person who will read the message.

Does the decoder handle numbers and punctuation?

Yes, any code in the table decodes, including digits and the symbols above. The on-screen reference list under a decoded result shows only letters and digits for brevity, but punctuation codes are still recognised. For example, .-.-.- is decoded as a full stop.

Is Morse code a secure way to hide a message?

No. It is an encoding with a public table, and anyone can decode it with this tool. It is useful for signalling and practice, not for secrecy.

About morse code translator

Text to Morse and back, as implemented

Format of the output

Text is converted to capitals, split on whitespace into words, and each character is replaced with its code from a lookup table. Letters inside a word are joined with a single space, and words are joined with a spaced slash. Decoding reverses that: it splits on slashes (and on gaps of two or more spaces), then looks up each group. A group that is not in the table becomes ? so one bad group does not break the rest.

Punctuation codes in the tool’s table
MarkCodeMarkCodeMarkCode
..-.-.-,--..--?..--..
'.----.!-.-.--/-..-.
(-.--.)-.--.-&.-...
:---...;-.-.-.=-...-
+.-.-.--....-_..--.-
".-..-.$...-..-@.--.-.

Worked example: encoding

The text “SOS help” was encoded as ... --- ... / .... . .-.. .--. with 7 characters counted. A second run with “Call 911 now!” followed by a line break and “OK #1” produced -.-. .- .-.. .-.. / ----. .---- .---- / -. --- .-- -.-.-- / --- -.- / ? .---- (the last group is the digit 1). The hash sign has no code, so it became ? and the stats listed # as unsupported, while the line break was treated as an ordinary word gap.

Worked example: decoding

Pasting ... --- ... / .... . .-.. .--. into decode mode returned SOS HELP, capitals only, since Morse has no case. A messier input used typographic characters and two spaces: .... .. then a line break, then −·−· ·−, two spaces, .-.- and -.-.--. It decoded to HI CA ?!. The line break became a word gap, the typographic dots and dashes were accepted, and .-.-, which is not in the table, became ?.

Where translations go wrong

Most mistakes come from input rather than the table: running letters together without spaces, typing a single space where a word gap is meant, or using a character that has no code. Always scan decoded output for ? marks, which show exactly where a group failed. If you are sending the result over a real channel, agree the punctuation conventions beforehand because those are the least standardised part of the table.

Morse Code Translator – Utinzo

Learn more from an authoritative source:

Wikipedia
Related tools

Results are estimates for informational purposes only and do not constitute professional financial, medical, legal, or technical advice. Read full disclaimer →