Translate text into Morse code or decode Morse back to text. Supports letters, numbers and punctuation.
Text • Morse code
Encoding and decoding share the page, so any result can be pasted straight back to confirm it round-trips to the text you started with — the quickest check that nothing was mangled.
Results are recalculated on every keystroke, with no submit step and no page reload, so a value can be adjusted until the answer looks right rather than guessed once.
Everything runs in your browser — no account, no uploads, nothing leaves your device.
Morse code encodes letters, numbers and punctuation as sequences of dots and dashes, invented in the 1830s–40s for the telegraph. It is still used in aviation, amateur (ham) radio, and as an accessible signaling method — and it remains a hugely popular puzzle and learning tool.
This translator converts text to Morse and decodes Morse back to text, with letters separated by spaces and words by a slash (/). For example SOS is "... --- ...". It works instantly and offline once loaded.
Morse is usually shown as dots and dashes, but the standard does not define it that way. It defines a set of duration ratios, and everything else follows from a single quantity: the length of one dot, called the unit. Every other element in the code is a whole multiple of that unit, which is why Morse can be sent by key, lamp, tone or radio carrier and stay readable at any speed. Read that way, the dots and dashes on screen are just a transcription of a rhythm.
dot = 1 unit dash = 3 unitsgap inside a letter = 1 unitgap between letters = 3 unitsgap between words = 7 unitsdot length (ms) = 1200 ÷ WPMwhere:
Assumptions: Timing ratios are fixed; absolute speed is not. At 20 WPM one unit is 60 ms, at 13 WPM it is 92.3 ms, and at 5 WPM it is 240 ms — the same message, the same ratios, a fifth of the pace. Prosigns such as SOS are sent as one run-together letter with no 3-unit gaps inside them, which is what makes SOS distinctive rather than three separate letters.
Encode a five-letter word, then convert the result into real seconds at two speeds.
ResultHELLO = 49 units = 2.94 seconds at 20 WPM (11.76 seconds at 5 WPM)
Nearly a quarter of that transmission is silence, and the gaps are what make it decodable — run the letters together and .... . .-.. .-.. --- becomes an unreadable string of elements. Compare the reference word PARIS: 31 units of elements, 12 units of inter-letter gaps and a 7-unit word gap, giving exactly 50 units. That is the definition 20 WPM is measured against, and the reason the constant in the speed formula is 1200 rather than a rounder number.