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).
| Element | ITU length | Play button |
|---|---|---|
| Dot (tone) | 1 unit | 1 unit (80 ms) |
| Dash (tone) | 3 units | 3 units |
| Gap between dots and dashes of a letter | 1 unit | 1 unit |
| Gap between letters | 3 units | 3 units |
| Gap between words | 7 units | 7 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.