Morse Code Encoder & Decoder
EncodingEverything runs locally in your browser — nothing is uploaded
Convert between text and Morse code: letters separated by spaces and words by a slash, which is the standard written form. Decoding also accepts the "three or more spaces between words" convention. The table follows ITU-R M.1677 — the 26 Latin letters, ten digits and common punctuation. Chinese and Japanese are not in it (international Morse has no CJK characters; the telegraph era used a separate four-digit code), so typing them gives a clear error rather than a result that quietly dropped them.
Features
- Both directions: text to Morse, and Morse back to text
- Covers A-Z, 0-9 and common punctuation such as @ $ ? !
- Words separated by slashes; decoding accepts slashes or three or more spaces
- Characters outside the table are listed in the error, never silently skipped
- Automatic direction: input made only of dots and dashes is read as Morse
- The direction can be pinned, for inputs like ... that work either way
- Decoded output is uppercase, with a note that Morse carries no case
How to use
- Type text or paste Morse code
- The result appears as you type and states which direction it used
- Switch the direction to Text → Morse or back if you need the other reading
- Click Copy to take the result
FAQ
- Why can’t I encode Chinese characters?
- International Morse defines Latin letters, digits and punctuation only — no CJK characters. That is a property of the code itself, not a limitation of this tool: Chinese telegraphy used a separate four-digit code that requires a lookup table. To send Chinese over radio, the usual route is romanisation first.
- What happens to three dots, ...?
- It is read as Morse by default, which is the letter S. The ambiguity cannot be resolved: three dots are both a valid Morse code and three full stops. To treat it as text, switch the direction to Text → Morse and you get the code for each dot.
- Why is the decoded text all uppercase?
- Because Morse carries no case: A and a have the same code (.-). Uppercase is the only reading that does not invent information that was never there.
- Does it play the tones?
- No — this tool converts text only. For listening practice, a real radio or a dedicated audio trainer will serve you better.
Related tools
Hex Converter
EncodingConvert between hexadecimal and text, accepting 0x, \x, spaces and colons, with UTF-8 byte counts shown. Runs in your browser.
Base64
EncodingConvert text to Base64 and back, with correct UTF-8 handling for accents, CJK and emoji. Runs entirely in your browser — nothing is uploaded.
Unicode Escape
EncodingConvert non-ASCII text and emoji into \uXXXX or \xXX escapes and back, with emoji written as proper surrogate pairs. Runs entirely in your browser.
URL Encode
EncodingEscape text into %XX form and back again, treating a whole URL and a single parameter value as different jobs. Runs entirely in your browser.
HTML Entities
EncodingTurn < > & and quotes into HTML entities and decode them back in a single pass, so &lt; becomes <, not an angle bracket. Runs in your browser.
JWT Decoder & Verifier
EncodingDecode a JWT and verify an HS256, HS384 or HS512 signature with your secret, reading exp and nbf as dates. All local to your browser.