Morse Code Translator
Convert text to International Morse code or decode dots and dashes back to text, see the signal drawn out, and play it as a tone at 5 to 30 words per minute.
About this Morse code translator
Morse code represents each letter, digit or punctuation mark as a short pattern of dots and dashes, which can be sent as sound, light or taps. Radio amateurs still use it on the air, pilots and sailors meet it in navigation beacon identifiers, and many people simply want to write a name in Morse for a bracelet, a tattoo or a puzzle. This page converts in both directions, draws the signal as dots and bars, plays it as audio and includes a clickable chart of 54 characters.
How to use it
- Type or paste text into Input. The Morse version appears in Output instantly, and Visual Display shows it as round dots and long bars.
- To decode, press the swap button (โ) between Text and Morse, then enter code using
.and-, one space between letters and/between words, for example.... . .-.. .-.. --- / .-- --- .-. .-.. -... - Set the Speed (WPM) slider and press Play Audio to hear it; Stop ends playback.
- Use Copy to copy the output and Clear to start over.
- Click any tile in the reference chart to hear that single character.
How the translation and timing work
Translation is a direct lookup in a table of 26 letters, 10 digits and 18 punctuation marks. When encoding, input is converted to capitals, each character becomes its code, letters are separated by a space and a space between words becomes /. Characters that are not in the table, including accented letters and line breaks, are dropped silently, so put spaces between words rather than new lines. When decoding, anything that is not a known code becomes ?.
Audio is generated in your browser with the Web Audio API as a 600 Hz sine tone. Timing follows the standard "PARIS" convention: one unit lasts 1.2 รท WPM seconds (80 ms at the default 15 WPM). A dot is 1 unit, a dash 3, the gap inside a letter 1, between letters 3 and between words 7. Playback is paced with JavaScript timers, so very busy tabs may drift slightly, and it is not designed for Farnsworth spacing, where characters are sent fast with extra-long gaps.
Nothing leaves your device: translation, drawing and sound all run locally and nothing is stored.
Frequently asked questions
Why can't it decode my code?
Only the ASCII full stop and hyphen are recognised. Middle dots (ยท), bullets, underscores or long dashes copied from other sites will show as ?. Also check that letters are separated by single spaces; without them, two letters run together into one unknown pattern.
How do I write SOS?
Type SOS and you will get ... --- .... In real distress use it is keyed as one continuous signal without the usual gaps between the letters. It was chosen because it is easy to recognise, not because it abbreviates any words.
Are all the punctuation codes official?
Most follow the International Morse code used by radio operators. A few, such as !, $, &, ; and _, are widely used extensions and may differ in other references.
What speed should a beginner practise at?
Many learners listen to individual characters at a fairly brisk speed so they learn the rhythm rather than counting dots, then slow the overall pace down with longer gaps. With this tool, start around 10 to 15 WPM and click the chart tiles to drill letters one by one.