Text to Morse Code
Translate letters, numbers, and common punctuation in either direction while keeping line breaks and every parsing rule visible.
A QUICK WALKTHROUGH
How to use this tool
- Choose text-to-Morse or Morse-to-text and enter up to 100,000 characters.
- Use ASCII dots and dashes, typographic signals, or an unambiguous custom pair.
- Convert locally, review skipped or replaced values, then copy the result or download a text file.
A defined International Morse character set
The table covers ASCII letters A–Z, digits 0–9, and the common punctuation marks period, comma, question mark, apostrophe, exclamation mark, slash, parentheses, ampersand, colon, semicolon, equals, plus, hyphen, underscore, quotation mark, dollar sign, and at sign. Letter case is ignored while encoding. Accented letters, non-Latin scripts, emoji, and other characters are not silently transliterated: reject them by default or explicitly skip them.
Visible separators and reversible signal styles
A single space separates character codes, spaced slash separates words, and source line breaks remain line breaks. Decoding accepts flexible whitespace around codes and slashes but rejects empty word groups. Choose ASCII . and -, typographic · and −, or custom non-whitespace signals up to five characters each. Custom signals must differ, cannot contain slash, and cannot begin with one another, which keeps decoding unambiguous. Input is limited to 100,000 UTF-16 characters, 50,000 lines, and 500,000 output characters.
GOOD TO KNOW
Common questions
Can it decode Morse code too?
Yes. Choose Morse code to text. Separate letters with whitespace and words with a slash; line breaks are preserved.
What happens to accented letters or emoji?
They are outside this tool’s documented table. The default strict setting identifies the first unsupported character and its location; Skip removes unsupported characters and reports how many were omitted.
Can I use stars and hashes instead of dots and dashes?
Yes. Choose Custom signal symbols, for example * and #. The two tokens must be distinct and prefix-free so the decoder can read every sequence without guessing.