HandyBench

Morse Code Translator

Convert text to Morse code and play it aloud.

How to use the Morse Code Translator

  1. 1 Choose Text → Morse or Morse → Text.
  2. 2 Type your message, or paste Morse using spaces between letters and "/" between words.
  3. 3 Copy the result, or press Play to hear it as beeps.

How the translation works

The tool looks each character up in a table of 54 Morse sequences: 26 letters, 10 digits and 18 punctuation marks (. , ? ' ! / ( ) & : ; = + - _ " $ @). Input is upper-cased first, so case does not matter. Letters of one word are joined with a single space, and words are joined with / . Characters outside the table, such as accented letters and emoji, are left out of the output, and a note under the result lists them. A few of the punctuation marks, for example !, &, $ and _, are widely used conventions rather than part of the ITU's formal list, so other decoders may not recognise them.

Worked example

Hello World becomes:

.... . .-.. .-.. --- / .-- --- .-. .-.. -..

The text SOS becomes ... --- .... Real distress signals send it as one unbroken run with no letter gaps, which the tool does not model; here it is simply three letters.

ITU timing and what Play does

The international standard (ITU-R M.1677) defines every duration as a multiple of one dot. The Play button builds a 600 Hz sine tone with the browser's Web Audio API and sets a dot to 0.08 seconds, which is the "PARIS" speed of 15 words per minute (60 / (50 x 0.08) = 15).

ElementITU lengthPlay button
Dot (tone)1 unit1 unit (80 ms)
Dash (tone)3 units3 units
Gap between dots and dashes of a letter1 unit1 unit
Gap between letters3 units3 units
Gap between words7 units7 units

Playback follows the table exactly, including the 7-unit word gap. Speed is fixed at 15 words per minute. While audio is playing the button becomes Stop, and pressing Play again always starts from the beginning after cutting off the earlier sound, so playbacks never layer on top of each other.

Decoding tips and mistakes

  • Separate letters with one or more spaces and words with /. Without spaces, .-...- cannot be split into letters, since Morse is not self-delimiting.
  • Only dots (.) and dashes (-) are recognised. Typographic dashes such as an en dash, pasted from a document, will fail to match.
  • Unknown sequences are left out of the decoded text, and a note under the result lists each one, so a typo does not go unnoticed. If nothing translates, you get "No translatable characters found."
  • Prosigns such as AR or SK, which are sent run together, are not in the table.

For other letter-code systems, compare braille and binary.

Examples

  • ▸ Turning "SOS" into "... --- ...".
  • ▸ Decoding a dot-and-dash message back to plain text.

Frequently asked questions

How do I format Morse code for decoding?

Separate the dots and dashes of each letter with a single space, and separate words with a forward slash "/". For example: ".... .. / - .... . .-." .

What does the Play button do?

It plays the code as a 600 Hz tone using your browser’s Web Audio, at a fixed 15 words per minute (an 80 ms dot). Dots, dashes, letter gaps and the 7-unit word gap follow the ITU timing. Pressing Play again, or the Stop button that replaces it while the sound is running, cuts off the current playback, so recordings never overlap. There is no speed control.

Which characters are supported?

All 26 letters, the digits 0–9, and 18 punctuation marks such as . , ? ! / and @ are supported. Characters outside that table, such as accented letters and emoji, are left out of the Morse, and a note under the result lists which characters were skipped.

Why are some letters missing when I decode Morse?

Sequences the tool does not recognise are left out of the text, and a note under the result lists each one so you can find the typo. This usually comes from a mistyped dot or dash, a typographic dash character instead of a hyphen, or letters run together without spaces.

Is SOS sent as three separate letters?

In practice SOS is sent as one continuous pattern of three dots, three dashes and three dots with no letter gaps. This tool treats it as the three letters S, O and S, so it writes "... --- ..." with spaces.