Skip to content

Morse Code Translator

Translate text to Morse code and back, play it as sound or light, download a WAV and look up any sign in the chart.

  • Free
  • No sign-up
  • Runs locally

Runs in your browser; what you enter is not uploaded to our servers.

Updated

What this Morse code translator does

This Morse code translator turns English text into Morse code and Morse code back into English in one box. Type "Hello world" and you get .... . .-.. .-.. --- / .-- --- .-. .-.. -... Paste dots and dashes and the box notices that the input is Morse and decodes it instead, so .... . .-.. .--. becomes HELP. A switch above the box forces either direction when the guess is wrong.

The code table is International Morse code as defined in Recommendation ITU-R M.1677-1: 26 letters, 10 digits and the standard punctuation, including @. Characters with no code are flagged and listed, never silently dropped. You can also hear the result, flash it as a light, follow each letter as it plays, save it as a WAV file and practice keying it yourself.

How to use the translator

  1. Type or paste into the box. Leave the direction on Auto-detect, or pick Text → Morse or Morse → Text. A badge shows what was detected.
  2. Copy the result. Copy Morse code and Copy text copy either side, and Swap moves the result into the input.
  3. Pick separators and symbols. The default is a space between letters and / between words. Alternatives are |, three spaces, or / and //, with dots and dashes shown as . -, · − or • —.
  4. Press Play. Set the speed from 5 to 40 words per minute (WPM), the pitch from 400 to 1000 Hz and the volume. The letter-by-letter strip highlights the symbol being played.
  5. Download WAV to save the same audio as a 16-bit mono file at 22,050 Hz. "Hello world" at 20 WPM is 315.8 kB (315,800 bytes).

The decoder is forgiving. It reads ·, •, _, − and — as dots and dashes, and /, | or a longer run of spaces as a word gap. With spaces only, the shortest gap counts as the letter gap, so .- -... -.-. (3 and 7 spaces) decodes to AB C. A group that matches nothing, such as ..-.-, appears as � with a warning.

Morse code timing: the PARIS standard

Speed is counted in words per minute, with PARIS as the standard word. Everything is measured in units, and one unit is the length of a dit:

dit                          1 unit
dah                          3 units
gap inside a character       1 unit
gap between characters       3 units
gap between words            7 units

PARIS + one word gap = 50 units, so one unit = 60,000 ms ÷ (50 × WPM) = 1200 ÷ WPM ms

At 20 WPM a dit lasts 1200 ÷ 20 = 60 ms. A dah is 180 ms, the gap between letters 180 ms and the gap between words 420 ms. At 5 WPM a dit is 240 ms; at 40 WPM it is 30 ms.

Worked example: "Hello world". HELLO is 37 units of dits, dahs and inner gaps plus four 3-unit letter gaps, which makes 49. WORLD is 43 plus 12, which makes 55. Add one 7-unit word gap and the message is 111 units, or 111 × 60 ms = 6.66 seconds at 20 WPM, measured from the first dit to the last element.

Farnsworth spacing

Counting dots works at slow speeds but breaks down as the speed rises. Farnsworth spacing sends each character at full speed and stretches only the gaps, so you learn every letter as one rhythm. With characters at speed c and an overall speed s, PARIS spends 31 units on characters and 19 on gaps:

extra time per word  ta = (60c − 37.2s) ÷ (s × c) seconds
letter gap           = 3 × ta ÷ 19
word gap             = 7 × ta ÷ 19

At 20 WPM characters and 10 WPM overall, ta = (1200 − 372) ÷ 200 = 4.14 s. The letter gap grows from 180 ms to 653.7 ms and the word gap from 420 ms to 1.53 s (1,525.3 ms), while each letter keeps its 20 WPM sound.

SOS in Morse code

SOS is ... --- ...: three dits, three dahs, three dits. Sent as three letters it takes 27 units, or 1.62 s at 20 WPM. As a distress call it is sent as one prosign with no letter gaps, ...---..., which takes 23 units, or 1.38 s. Type <SOS> to get the run-together version. The letters do not stand for anything. "Save our souls" came later; the signal was chosen as a short pattern that is easy to send and hard to mistake.

Morse code alphabet chart

LetterCodeLetterCodeLetterCode
A.-J.---S...
B-...K-.-T-
C-.-.L.-..U..-
D-..M--V...-
E.N-.W.--
F..-.O---X-..-
G--.P.--.Y-.--
H....Q--.-Z--..
I..R.-.

Frequent letters got short codes: E is a single dit, 1 unit long. Digits always have five elements. 1 is .---- and each digit up to 5 (.....) turns one more dah into a dit; 6 to 9 start with dahs instead (-.... to ----.), and 0 is -----, which takes 19 units. The interactive chart in the tool plays any sign at your speed and pitch.

Punctuation, accents and prosigns

The standard punctuation is . .-.-.-, , --..--, : ---..., ? ..--.., ' .----., - -....-, / -..-., ( -.--., ) -.--.-, " .-..-., = -...-, + .-.-. and @ .--.-.. The Recommendation also gives é its own code, ..-...

Five signs found in many charts are not in the standard: ! -.-.--, & .-..., ; -.-.-., _ ..--.- and $ ...-..-. They are common in amateur radio, so the translator uses them, but marks them as non-standard because a receiver may not know them.

For signs without a code, the Recommendation says to send × as X and % as 0/0, joined to a number by a hyphen, so "50% off" becomes ..... ----- -....- ----- -..-. ----- / --- ..-. ..-. (50-0/0). Without the hyphen it would read as 500/0. Other accented letters lose the accent (ö is sent as O) with a note. Characters such as # or emoji have no Morse at all and are listed in a warning.

Prosigns are written with a bar over the letters, such as A̅R̅, and sent as one run. Some share a code with a character: AR (end of message) sounds like +, BT (break) like =, and KN (over to the station called) like (. When decoding, choose whether those codes appear as characters or prosigns. SK (end of contact) and HH (error, eight dits) have no character, so they always decode as prosigns. Type any prosign in angle brackets, such as <AR> or <SK>.

Practical examples

  • Jewelry and tattoos. "I love you" is .. / .-.. --- ...- . / -.-- --- ..-. Check the spacing before you order: a missing letter gap turns .- - (AT) into .-- (W).
  • Puzzles and escape rooms. Paste a clue and auto-detect decodes it. Unknown groups are flagged, so a typo in the puzzle shows up instead of producing silent nonsense.
  • Learning the code. Start with Farnsworth spacing at 20 WPM characters and 5 to 10 WPM overall, then shorten the gaps as letters become automatic.
  • Practicing your sending. In Practice: key it yourself, tap for a dit and hold for a dah. At 20 WPM a press of 120 ms or longer counts as a dah, a 120 ms pause ends the letter and 300 ms starts a new word.
  • Signal lamps. Turn on Flash light to send by light, in place or in full screen. At 20 WPM a lamp would flash 8.3 times a second, well over the limit of three a second that the WCAG accessibility guidelines set to protect people with photosensitive epilepsy. So while the light is on, sound and light play at 7 WPM or slower: a dit and the gap after it then last 342.9 ms, or 2.9 flashes a second. You confirm a warning once per browser session, and the light always starts off.

Tips and common mistakes

  • Spacing carries meaning. ... is S but . . . is EEE. When you write Morse by hand, keep letter gaps visible and mark words with /.
  • Write prosigns as prosigns. <AR> and + sound the same, but in a message AR means "end", so pick the reading that fits the context.
  • Check the round trip. Swap the output back into the input. If the text does not come back the same apart from capital letters, a character was substituted or left out, and the warning says which.

Privacy and what the tool cannot do

The translation, the tone and the WAV file are all produced on your device. Nothing you type leaves the page; the text box is kept only for this browser tab, and your speed, tone and display choices are saved in this browser.

Limits: input is capped at 10,000 characters, the letter-by-letter strip shows the first 300 symbols, and WAV downloads stop at 10 minutes of audio (about 26 MB). The decoder reads written dots and dashes; it does not listen to audio. Morse has no lowercase, so decoded text is shown in capitals. Radio logs usually record times in 24-hour UTC, and the military time converter handles that conversion, including Zulu time.

Frequently asked questions

How do you write I love you in Morse code?

I love you is .. / .-.. --- ...- . / -.-- --- ..- with a space between letters and a slash between words. At 20 words per minute it takes 5.58 seconds to send. If you are engraving it, keep the letter gaps clearly visible: written without them, .-..--- can be split into several different letter combinations. Paste your final version back into the translator to confirm it decodes to the words you meant.

How do I decode Morse code with this translator?

Paste the dots and dashes into the box. Auto-detect sees that the input is Morse and shows the English text, so .... . .-.. .--. becomes HELP. Separate letters with spaces and words with a slash, a bar or a longer gap. Groups that match no letter, such as ..-.-, are shown as a replacement mark and listed in a warning, which usually points to a missing space between two letters.

What does the line over AR, SK or SOS mean?

The bar marks a prosign: two or three letters sent as one run with no gap between them. AR (.-.-.) means end of message, SK (...-.-) means end of contact and BT (-...-) separates sections. The distress call SOS is sent the same way, as ...---..., which takes 23 units instead of 27 for three separate letters. Type a prosign in angle brackets, such as <SK>, to encode it.

How long is a dit at 20 words per minute?

60 milliseconds. Speed is based on the word PARIS, which is 50 units long including the gap after it, so one unit lasts 1200 ÷ WPM milliseconds. At 20 WPM a dah is 180 ms, the gap between letters 180 ms and the gap between words 420 ms. With Farnsworth spacing at 10 WPM overall, the letters keep that timing but the gaps grow to 653.7 ms and 1.53 seconds.

Can I download Morse code as an audio file?

Yes. Download WAV builds a 16-bit mono WAV file at 22,050 Hz in your browser, with the speed, tone and volume set in the tool, plus a quarter second of silence at each end. Hello world at 20 WPM is 315.8 kB. Files are limited to 10 minutes of audio, about 26 MB, so raise the speed or split very long texts.

Which punctuation marks exist in Morse code?

The international standard, ITU-R M.1677-1, defines the full stop, comma, colon, question mark, apostrophe, hyphen, slash, both brackets, quotation marks, double hyphen (=), cross (+) and @. Signs such as !, &, ; and $ have codes that amateur radio operators use, but they are not part of the standard, so the translator marks them. For %, the standard says to send 0/0, joined to the number by a hyphen: 2% is 2-0/0.

Does Morse code have lowercase or accented letters?

Morse has no upper or lower case, so decoded text is shown in capitals and Hello and HELLO give the same code. The international standard gives é its own code, ..-.., but no other accented letters. The translator sends letters such as ö or ñ without the accent and tells you which ones it changed, so you can rewrite the word if the accent matters.

Is Morse code still used today?

Yes, though rarely for everyday messages. Amateur radio operators still send and receive it, many radio navigation beacons for aircraft identify themselves with a short Morse code, and some phone keyboards offer Morse input for people who find tapping easier than typing. It also works with improvised signals such as a flashlight, a whistle or tapping, which is why SOS remains widely known.

Published · Updated

Found a bug or have an idea? Tell us