Morse Code Translator - Text to Morse and Back, with Audio and Chart
Type text to get International Morse code, or paste dots and dashes to read them as text.
Maintained by Hirantha Sandaruwan Lakshan. Updated 13 October 2026.
About this tool
The characters are those of Recommendation ITU-R M.1677-1: the letters, the figures and the standard punctuation marks. Press Play to hear the message at the speed and pitch you choose. A character that has no Morse code is reported, never dropped without a word.
How it works
Each letter is a group of dots (short signals) and dashes (long signals). In the written form used here a space separates letters and a slash separates words, so SOS is ... --- ... and HELLO WORLD is .... . .-.. .-.. --- / .-- --- .-. .-.. -.. When reading Morse the tool also accepts a bar or three spaces between words, a middle dot or bullet for a dot, and an underscore, a minus sign or any dash for a dash. Line breaks are kept.
The timing is fixed by the ITU recommendation in units of one dot. A dash is three units. The space between the signals of one letter is one unit, between letters three units and between words seven units. The ratios are the ITU's; the speed is conventionally quoted with the word PARIS, which is 50 units long including the gap that follows it (43 without). A speed of W words per minute therefore makes one unit 1200 / W milliseconds: 60 ms at 20 words per minute and 80 ms at 15. The table beside the player recalculates this for the speed you choose.
The character set is section 1.1 of ITU-R M.1677-1. It has the 26 letters and an accented é, the figures 0 to 9, and these marks: full stop, comma, colon, question mark, apostrophe, hyphen, fraction bar, left and right brackets, quotation marks, the double hyphen (=), the plus sign and the at sign. The two brackets differ: ( is -.--. and ) is -.--.-. The recommendation also lists six procedural signals: understood, error, wait, end of work, starting signal and invitation to transmit. The last is -.-, the letter K; type the other five as <SN>, <HH>, <AS>, <SK> and <KA>. The multiplication sign is sent as X. The standard defines no code for !, $ or &, or for letters with other accents, so the tool marks them with # and lists them.
Play uses the Web Audio API in your browser to make a sine tone, with a few milliseconds of fade at the start and end of every signal so it does not click. Sound starts only when you press Play, can be stopped at any time, and never starts on its own. Messages that would run longer than ten minutes at the chosen speed are not played. If your browser blocks audio the page says so and the translation still works.
Worked examples
SOS
SOS is ... --- ... and is 27 units long: S is 5 units (three dots and two gaps), O is 11 units and S is 5, plus two letter gaps of 3. At 20 words per minute a unit is 60 ms, so it takes 27 x 60 = 1,620 ms.
PARIS at 20 words per minute
PARIS is .--. .- .-. .. ... and is 43 units long, or 50 with the seven-unit word gap after it. At 20 words per minute a unit is 60 ms, so one PARIS takes 3 seconds and 20 of them fill a minute.
Reading Morse that was typed loosely
.... .. / - .... . .-. . reads HI THERE. The same message written with middle dots and minus signs, or with a bar between the words, gives the same text, because those variants are accepted.
A character with no code
Hello! becomes .... . .-.. .-.. --- # and a note that ! (line 1, character 6) is not in the ITU set. The exclamation mark has no standard Morse code, so it is flagged for you to deal with instead of being invented.
International Morse code (ITU-R M.1677-1): characters, codes and length in units
| Character | Name | Morse code | Units |
|---|---|---|---|
| A | Letter A | .- | 5 |
| B | Letter B | -... | 9 |
| C | Letter C | -.-. | 11 |
| D | Letter D | -.. | 7 |
| E | Letter E | . | 1 |
| F | Letter F | ..-. | 9 |
| G | Letter G | --. | 9 |
| H | Letter H | .... | 7 |
| I | Letter I | .. | 3 |
| J | Letter J | .--- | 13 |
| K | Letter K | -.- | 9 |
| L | Letter L | .-.. | 9 |
| M | Letter M | -- | 7 |
| N | Letter N | -. | 5 |
| O | Letter O | --- | 11 |
| P | Letter P | .--. | 11 |
| Q | Letter Q | --.- | 13 |
| R | Letter R | .-. | 7 |
| S | Letter S | ... | 5 |
| T | Letter T | - | 3 |
| U | Letter U | ..- | 7 |
| V | Letter V | ...- | 9 |
| W | Letter W | .-- | 9 |
| X | Letter X | -..- | 11 |
| Y | Letter Y | -.-- | 13 |
| Z | Letter Z | --.. | 11 |
| É | Accented e (e acute) | ..-.. | 11 |
| 0 | Figure 0 | ----- | 19 |
| 1 | Figure 1 | .---- | 17 |
| 2 | Figure 2 | ..--- | 15 |
| 3 | Figure 3 | ...-- | 13 |
| 4 | Figure 4 | ....- | 11 |
| 5 | Figure 5 | ..... | 9 |
| 6 | Figure 6 | -.... | 11 |
| 7 | Figure 7 | --... | 13 |
| 8 | Figure 8 | ---.. | 15 |
| 9 | Figure 9 | ----. | 17 |
| . | Full stop (period) | .-.-.- | 17 |
| , | Comma | --..-- | 19 |
| : | Colon or division sign | ---... | 17 |
| ? | Question mark | ..--.. | 15 |
| ' | Apostrophe | .----. | 19 |
| - | Hyphen, dash or subtraction sign | -....- | 15 |
| / | Fraction bar or division sign | -..-. | 13 |
| ( | Left-hand bracket (parenthesis) | -.--. | 15 |
| ) | Right-hand bracket (parenthesis) | -.--.- | 19 |
| " | Inverted commas (quotation marks) | .-..-. | 15 |
| = | Double hyphen | -...- | 13 |
| + | Cross or addition sign | .-.-. | 13 |
| @ | Commercial at | .--.-. | 17 |
| <SN> | Understood | ...-. | 11 |
| <HH> | Error (eight dots) | ........ | 15 |
| <AS> | Wait | .-... | 11 |
| <SK> | End of work | ...-.- | 15 |
| <KA> | Starting signal | -.-.- | 15 |
Frequently asked questions
What is the Morse code for SOS?
Three dots, three dashes, three dots: ... --- ... It is the letters S, O and S, so you type them as ordinary letters here. At 20 words per minute the pattern lasts 1.62 seconds.
How fast is 20 words per minute in Morse?
One dot lasts 1200 / 20 = 60 milliseconds, a dash 180 ms, the gap between letters 180 ms and the gap between words 420 ms. The speed is measured with the word PARIS, which takes exactly 50 units, so 20 words a minute is 20 x 50 = 1,000 units a minute.
How do I show the space between words?
Use a slash with a space either side: .... .. / - .... . .-. . Reading Morse, the tool also takes a vertical bar or three or more spaces as a word break. The ITU gives the word space as seven dots of silence; it does not prescribe a written symbol.
Why does an exclamation mark show as # ?
Because ITU-R M.1677-1 does not define a code for it. Wikipedia notes there is no standard representation for the exclamation mark; one informal code, the KW digraph, was proposed in the 1980s. Rather than guess one, the tool prints # in its place and tells you the position, so you can replace the mark with a comma, a full stop or a word.
Can it translate Sinhala, Tamil or accented letters?
Not beyond what the standard covers. ITU-R M.1677-1 defines the Latin letters A to Z and an accented é, but no code for Sinhala, Tamil or other alphabets, and none for letters such as ä or ñ. Those are reported as unknown. Wikipedia notes that É is the only accented character encoded in the ITU standard.
Why does the tool show two different brackets?
ITU-R M.1677-1 gives the left bracket as -.--. and the right as -.--.-. The tool follows the ITU when it reads Morse, so -.--. comes out as ( and -.--.- as ). The dots and dashes of ( are also the prosign KN, which the tool reads as the bracket.
Does the sound start by itself?
No. Audio only starts when you press Play, and Stop ends it at once. The speed (5 to 40 words per minute) and tone (300 to 1,200 Hz) sliders change the next playback.
Is my text sent anywhere?
No. The translation and the sound are produced in your browser. Nothing is uploaded.
Sources & references
Updated Oct 13, 2026