Morse code to text

Decode Morse code back into readable text. Letters within a word should be separated by a single space; words should be separated by / (slash with surrounding spaces). Customise the Dot and Dash characters to match the input, and toggle Prosigns to translate operator messages like SK and AR.

Input
Line 1:1 LF cloud_done Saved locally
Result Morse Code to Text
0 lines 0 chars

Morse decoding, configurable dot/dash, optional prosigns

Morse decoding reverses the dots-and-dashes-per-letter mapping back into letters. Input format expected: each Morse sequence (the dots and dashes for a single letter) separated by a single space, words separated by / (space, slash, space). So ... --- ... / .... . .-.. .--. decodes to sos help. The output is lowercase by default; uppercase the result via uppercase if needed.

The Dot and Dash fields let you decode Morse that uses non-standard glyphs. If the input uses o for short and = for long, set the fields to match and the decoder normalises them back to . and - internally before lookup. Default values are . and -, the printed-Morse standard.

Toggle Prosigns on to recognise operator messages (procedural signals): -.- alone is the letter K in normal mode but the prosign KN ("invitation for named station") when prosigns are on; ...-.- is rendered as [SK] ("end of contact"). Off by default to avoid surprising substitutions for normal text. Sequences not in the Morse table produce empty letters silently. For encoding text into Morse, see Text to Morse code.

How to use morse code to text

  1. 1Paste your Morse code into the input panel: dots/dashes per letter separated by single spaces, words by / .
  2. 2The decoded text appears in the output panel as you type.
  3. 3Set the Dot and Dash fields if your input uses non-standard glyphs.
  4. 4Toggle Prosigns on to translate operator messages like [SK] and [KN].
  5. 5Click Copy in the output header to copy the decoded text.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

International Morse table for letters and digits

Decodes A-Z and 0-9 from their International Morse sequences. ... -> s, --- -> o, ----- -> 0. Output is lowercase; pipe through uppercase if you want capitals.

Letter and word boundary parsing

Splits the input on / first to find word boundaries, then on whitespace within each word for letter boundaries. So ... --- ... / .... . .-.. .--. parses as two words, three and four letters respectively, decoding to sos help.

Custom Dot and Dash normalisation

Set Dot to whatever glyph your input uses for short, and Dash for long. The decoder swaps them back to . and - before lookup. Defaults are . and -.

Prosigns toggle

Off by default. On translates operator messages: -.- -> [KN], .-... -> [AS], ...-.- -> [SK], -...- -> [BT], .-.-. -> [AR], ...-. -> [SN], -.-.- -> [CT]. Bracketed labels make them visible in the output.

Unknown sequences produce empty letters

A Morse sequence not in the table (typo, off-by-one, garbled) decodes as an empty string for that letter. The result skips that position rather than throwing. Common fix: check that you are using single spaces between letters and / between words.

Worked example

Each Morse sequence decodes to its letter; the / token translates to a literal space. Output is lowercase. For the inverse, see Text to Morse code.

Input
... --- ... / .... . .-.. .--.
Output
sos help

Settings reference

Behaviour Effect on output
Letter separator Single space between Morse sequences within a word.
Word Sep Default / . Set to whatever your source uses (e.g. three spaces, or a custom marker). The decoder splits the input on this token to find word boundaries; legacy slash-with-spaces is also accepted as a fallback.
Dot Default .. Set to whatever glyph your input uses for short signal; the decoder normalises back to . before lookup.
Dash Default -. Set to whatever glyph your input uses for long signal.
Prosigns Off by default. On translates seven operator-message sequences (KN, AS, SK, BT, AR, SN, CT) to bracketed labels.
Output case Always lowercase. Pipe through uppercase for caps.
Unknown Morse sequences Decode to an empty string for that letter (skipped silently).

FAQ

Why is my decoded text missing letters?
Check the separators. Letters within a word need to be split by a SINGLE space; words need to be split by / with spaces around the slash. If two letter sequences run together with no space, the decoder treats them as one unknown sequence and emits nothing for that position.
What are prosigns?
Prosigns (procedural signals) are operator messages used between Morse stations. SK means "end of contact", AR means "end of message", BT is a paragraph break. They are sent without the inter-letter space, so ...-.- is one prosign rather than the letters SK. Toggle Prosigns on to render them as [SK], [AR], etc.
Can I decode Morse with non-standard dot/dash characters?
Yes. Set the Dot and Dash fields to whatever glyphs your source uses. o for short and = for long is one chunkier option; * and _ a common chat choice. The decoder normalises them back to . and - before lookup.
Why is the output lowercase?
The lookup table maps Morse to lowercase letters. Morse itself is case-less, so this is a presentation choice. Run the result through uppercase if you want all-caps.
Is the input sent anywhere?
No. Decoding runs entirely in your browser via a static table. Nothing is uploaded, nothing is logged.