Morse Code

Convert text to international Morse code and decode Morse code back to text — supports letters, digits, and common punctuation.

Runs locally
Text Input
Morse Output

What is Morse code?

Morse code is a character encoding scheme that represents letters, numbers, and punctuation as sequences of dots (short signals) and dashes (long signals). It was developed in the 1830s for electrical telegraph transmission and became the first practical form of long-distance digital communication. Each character is separated by a short space; words are separated by a longer space (represented here as /). Morse code is still used in aviation, amateur radio, and accessibility contexts — and forms a fascinating piece of computing history as an early binary-adjacent encoding.

How to use this tool

  1. 1 In Text → Morse mode, type or paste plain text — letters, digits, and punctuation are encoded to Morse automatically.
  2. 2 Words are separated by / in the output. Each character is separated by a space.
  3. 3 Switch to Morse → Text mode and paste Morse code. Use spaces between characters and / (with spaces around it) between words.
  4. 4 The swap button copies the output back to input, so you can decode what you just encoded.

Frequently asked questions

How are words separated in Morse code?

In this tool, words are separated by a forward slash with spaces around it: / . When decoding, any / (with or without surrounding spaces) is treated as a word boundary.

What characters are supported?

The tool encodes A-Z, 0-9, and common punctuation: . , ? ! / ( ) & : ; = + - _ " $ @ — a total of 55 characters per the international Morse standard.

What happens to unsupported characters?

Unsupported characters (e.g. accented letters, emoji) are replaced with ? in the output, and a warning banner lists the characters that could not be encoded.

Is Morse code case-sensitive?

No. Morse code has no concept of uppercase vs lowercase — all letters are encoded identically. The decoded output is always uppercase.

Is my data sent anywhere?

No. All encoding and decoding uses a local lookup table in your browser. Nothing is transmitted.