Morse / Binary / Hex
Encode or decode text to Morse code, binary or hexadecimal.
Your files never leave your device. Everything runs in your browser.
What Morse / Binary / Hex does
Morse / Binary / Hex encodes text into three classic formats and decodes them back. Pick the format, paste the input and click Encode or Decode; the result appears in the read-only box, ready to copy.
Morse mode covers the letters A to Z, the digits 0 to 9 and common punctuation, with a slash marking word breaks. “SOS” encodes to ... --- ... and “HELLO WORLD” to .... . .-.. .-.. --- / .-- --- .-. .-.. -.., as verified on this page. Encoding ignores case, and characters that have no Morse entry pass through unchanged.
Binary and hexadecimal work on characters rather than alphabet letters. Each character is taken from its 16-bit code unit and written as a space-separated group. Plain ASCII text comes out as standard eight-bit groups — “Hi” is 01001000 01101001 in binary and 48 69 in hex — while characters beyond that range need more room: é is 11101001 and e9, the euro sign takes 14 binary bits (10000010101100) and 20ac in hex, and an emoji is a surrogate pair, so it becomes two groups in both formats.
How to use Morse / Binary / Hex
- Paste text or encoded data into Input.
- Choose Morse code, Binary or Hexadecimal under Format.
- Click Encode to turn text into code, or Decode to turn code back into text.
- Read the result in the Output box and use Copy result to copy it.
- For Morse decoding, keep the standard spacing: one space between symbols of a letter, one space between letters, and a slash between words.
Features
- Three formats with encode and decode in a single card.
- Complete Morse alphabet: A to Z, 0 to 9 and common punctuation including comma, question mark and full stop.
- Word breaks encoded as a slash so sentences survive a round trip.
- Binary output as space-separated eight-bit groups, longer only for characters outside the basic range.
- Hexadecimal output as space-separated pairs, with four-digit groups for characters beyond two hex digits.
- One-click copy and no network use: encoding never leaves the page.
Tips and common mistakes
- Morse encoding is case-insensitive; “sos” produces the same ... --- ... as “SOS”, and output is conventionally shown in upper case.
- Characters with no Morse entry are not rejected — they are kept as-is. Encoding “café” keeps the accented letter at the end as a plain É, so strip unusual characters when you need strict Morse.
- Punctuation has codes too: “HI, THERE!” encodes to .... .. --..-- / - .... . .-. . -.-.--, with --..-- for the comma and -.-.-- for the exclamation mark.
- Decoding keeps unrecognised tokens unchanged, which helps spot typos: ... ?? ... decodes to S??S rather than failing silently.
- Binary and hex encoding is per UTF-16 code unit, not per UTF-8 byte: the euro sign is one 16-bit unit here (20ac), while UTF-8 would write it as three bytes (e2 82 ac).
- Malformed binary groups decode to invisible control characters rather than an error — abc parses to a null character — and an empty hexadecimal input shows the message that the input could not be decoded.
- Spaces are encoded like any other character, so round trips keep them, and each space adds its own group to binary and hex output.
Frequently asked questions
How are letters and words separated in Morse?
Symbols within a letter are written together, letters are separated by a single space, and words by a slash with spaces around it. A plain space in the input becomes that slash during encoding.
Why does an accented letter stay unchanged?
International Morse code has no accented letters — it defines A to Z, digits and punctuation only. Rather than guess a nearest letter, the encoder leaves anything without a code untouched.
Why does an emoji take two groups?
JavaScript stores emoji as a surrogate pair of two 16-bit units, and each unit is encoded separately, so 😀 becomes two binary groups and two hexadecimal groups (d83d de00).
Can I decode Morse that has no spaces?
Not reliably. The decoder splits on spaces, so a run with no separators is treated as one unknown token and returned unchanged. Add spaces between the letters first.
How is binary different from UTF-8 bytes?
This tool encodes the 16-bit code units of the text, so ASCII characters use eight bits while other characters use more — the euro sign uses 14 bits as one unit, whereas UTF-8 stores the same character as three bytes. For plain English text the two agree.
Is anything stored?
No. Encoding and decoding run in your browser and nothing is uploaded, saved or logged.
Related text tools: Word Counter, Line Tools, Find & Replace.
Encoding and decoding happen entirely in your browser — your text is never uploaded or stored.