# Morse Code Translator

Canonical URL: https://offlineutils.com/morse-code
Category: Codes & Ciphers
Published: 2026-10-26
Publisher: offlineutils.com
Runs entirely in the browser; nothing entered into the tool is uploaded.

> A Morse code translator converts between text and International Morse code as defined by ITU-R M.1677-1. This one reads dots and dashes however they're typed, notices when they've been swapped or replaced by two other symbols, decodes on/off timing strings, and plays the code or saves it as a WAV file, entirely in your browser.

International Morse code represents each letter, figure and punctuation mark as a sequence of short and long signals, and the timing is part of the code: a dash lasts three dots, the gap inside a letter one dot, between letters three, and between words seven. Those rules come from ITU-R Recommendation M.1677-1, which also defines the punctuation — the full stop is .-.-.-, the question mark ..--.. — and a few procedure signals such as end of work, ...-.-. The commercial at, .--.-., is the newest addition, from 2004.

Puzzles rarely hand you tidy dots and dashes. They use bullets and em dashes, write words split by slashes or bars, swap the dots and dashes as a twist, replace them with two arbitrary symbols — 0 and 1, two emoji, two kinds of flower — or give you a string of on/off timing where every digit is one unit. This translator reads all of those: it normalises the many ways the symbols get typed, decodes timing by splitting runs at the midpoints between the standard lengths, and tries the input both ways round, ranking the readings by how English they look.

The table is transcribed from M.1677-1 and checked against fldigi, the amateur radio program, by an automated test, along with the handful of signs radio amateurs add on top: the exclamation mark, semicolon, underscore and dollar sign. Encoding writes letters separated by spaces and words by slashes, sends × as X as the Recommendation directs, and takes procedure signals typed as <SK>. You can play the result at any speed from 5 to 40 words per minute — timed by the PARIS standard, where a word is 50 units — or download it as a WAV file to send or to test a decoder with.

## Features

- Translates to and from International Morse code as defined by ITU-R M.1677-1
- Reads bullets, em dashes, slashes, bars and wide gaps as well as plain dots and dashes
- Notices swapped dots and dashes and code written in any two symbols
- Decodes on/off timing strings, one digit per unit
- Plays the code at 5 to 40 WPM with an adjustable tone
- Downloads the code as a WAV file
- Table checked against fldigi, with the common amateur additions

## Use cases

- Solving a CTF or puzzle-hunt clue made of dots and dashes, or two repeating symbols
- Checking a Morse message copied by ear from a recording or the radio
- Practising copying code at a chosen speed
- Making a Morse audio file for a game, a video or an escape room

## How to use it

1. **Paste the code** — Dots and dashes in any notation, two other symbols, or an on/off timing string. Letters separated by spaces, words by a slash, a bar or a wide gap.
2. **Read the best match** — The input is read as written and with dots and dashes swapped — or each symbol as the dot — and the most English-looking reading comes first.
3. **Listen or save** — Press Play to hear the best reading at your chosen speed, or download it as a WAV file.
4. **Encode your own** — Switch to Encode, type your text, and copy the code or play it.

## When to use it, and when to use something else

- **vs A basic text-to-Morse converter** — use Morse Code Translator when the code uses odd symbols, swapped dots and dashes or timing, or you need the punctuation exactly as the ITU defines it. Use A basic text-to-Morse converter when you only need plain letters converted quickly.
- **vs fldigi or another CW decoder** — use Morse Code Translator when you have the code as text rather than as audio. Use fldigi or another CW decoder when you need to decode a live or recorded signal from its sound.

## Frequently asked questions

### How do I translate Morse code to text?

Paste it in with letters separated by spaces and words separated by a slash, a bar or a wider gap; the translation appears immediately. Dots can be typed as . • · or *, dashes as - − – — or _. If the result looks like nonsense, the next reading — with dots and dashes swapped — is usually the answer.

### What are the timing rules of Morse code?

ITU-R M.1677-1 defines everything in terms of the dot: a dash lasts three dots, the gap between the signals of one letter is one dot, the gap between letters three dots, and the gap between words seven. Speed is quoted in words per minute using the word PARIS, which is exactly 50 units long, so at 20 WPM a dot lasts 60 milliseconds.

### What do <SK>, <AS> and <KA> mean?

They're procedure signals — codes that control a conversation rather than spell words. M.1677-1 defines end of work (...-.-, written <SK>), wait (.-..., <AS>), the starting signal (-.-.-, <KA>), understood (...-., <SN>) and error, eight dots (<HH>). Invitation to transmit is the same code as K and the multiplication sign the same as X, so those decode as letters.

### Why does my Morse code decode to nonsense?

Usually for one of three reasons: the dots and dashes have been swapped, the letters aren't separated (so several letters run into one unknown code), or the puzzle uses two other symbols for dot and dash. This translator tries the swap and both symbol assignments automatically; if you see � in the output, check where letters should be split.

### Is there Morse code for the @ sign?

Yes: .--.-., added to International Morse code in 2004 so that e-mail addresses could be sent. It's the A and C run together — the 'commat'. Other symbols such as ! and ; aren't in the ITU Recommendation but are widely used by radio amateurs, and this translator handles those too.

## Related tools

- https://offlineutils.com/tap-code
- https://offlineutils.com/baudot-code
- https://offlineutils.com/zero-width-decoder
