Introduction
The UnMorse tool decodes run-on Morse code that has no separators between letters. Standard Morse code uses spaces between letters and slashes or multiple spaces between words, but sometimes you encounter Morse code where the dots and dashes run together with no separators at all. This tool explores all valid ways to split the continuous dots and dashes into Morse code letters and ranks the results by English word frequency. Paste your separator-free Morse code, set your dot and dash characters, and the possible translations appear instantly. Everything runs in your browser.
What this tool does
- Decodes Morse code that has no separators between letters by trying all valid letter groupings.
- Explores every possible way to split a continuous string of dots and dashes into valid Morse code patterns (1 to 4 characters each).
- Ranks all possible translations by English word frequency so the most likely solution appears at the top.
- Supports custom dot and dash characters for obfuscated Morse code puzzles that use symbols like 0/1, A/B, or other two-character substitutions.
- Shows the exact Morse code splits used for each result so you can verify the decoding by hand.
- Offers a partial endings mode that finds combinations where the last Morse character may be incomplete, useful for truncated messages.
How this tool works
The tool takes a continuous string of dots and dashes with no separators and recursively tries every valid Morse code pattern at each position. Morse code letters range from 1 character (E is a single dot, T is a single dash) to 4 characters (numbers and some letters). At each position, the tool checks whether the next 1, 2, 3, or 4 characters form a valid Morse code letter. Each valid match creates a new branch in the search tree.
For a short input of 10 characters, there can be dozens or hundreds of possible splits. For longer inputs, the number of combinations grows exponentially and can reach millions. The tool caps the number of results at a configurable maximum (default 200) to keep the response fast.
Each result is scored by checking how many common English words appear in the decoded text. Results containing words like "THE", "AND", "FOR", "YOU", and other high-frequency English words get higher scores and appear at the top of the list. The tool also gives a small bonus to results with a reasonable vowel-to-consonant ratio.
The dot and dash characters are configurable. By default, the tool expects dots (.) and dashes (-), but you can set any two characters. This handles puzzles where Morse code is obfuscated using different symbols, such as 0 and 1, or A and B.
The partial endings mode allows the last Morse character to be incomplete. For example, if the input ends with two dots and no valid 1 or 2 character Morse letter matches, the tool checks whether those two dots could be the start of a longer pattern like "...". This is useful for truncated or damaged messages where the final character may be cut off.
How the cipher or encoding works
Morse code is a method of encoding text as sequences of dots (short signals) and dashes (long signals). Each letter of the alphabet and each digit has a unique Morse code pattern, ranging from 1 to 5 characters. The International Morse Code standard, codified by the International Telecommunication Union (ITU), defines the patterns used worldwide. For example, E is a single dot, T is a single dash, S is three dots, and O is three dashes.
In standard Morse code transmission, letters are separated by a short pause (written as a space), and words are separated by a longer pause (written as a slash or multiple spaces). When these separators are present, decoding is straightforward: split on the separators, look up each pattern in the Morse code table, and concatenate the letters.
The problem arises when the separators are missing. A continuous string of dots and dashes like "....-..--.---" could be split in many ways. It could be "...." (H) + "-.." (D) + "--." (G) + "---" (O), giving "HDGO". Or it could be "...." (H) + ".-" (A) + "..-" (U) + ".---" (J), giving "HAUJ". Or "...." (H) + ".-.." (L) + ".--" (W) + ".." (I) + "-" (T), giving "HLWIT". The number of possible splits grows exponentially with the length of the input.
The UnMorse tool solves this by exhaustive search with pruning. At each position in the input string, it tries every Morse code pattern (from the 36 standard patterns for A-Z and 0-9) that matches the start of the remaining string. Each match produces a new branch. The search continues until the entire string is consumed (a complete decoding) or no valid pattern matches (a dead end, pruned). Complete decodings are collected and ranked.
The ranking uses English word frequency analysis. The decoded text is scanned for common English words from a curated list of about 100 high-frequency words. Each word found contributes to the score, weighted by word length squared (longer words are more significant). A vowel ratio check provides a small bonus for text with a plausible mix of vowels and consonants. The highest-scoring results are the most likely to be the correct decoding.
This approach is similar to the one used by CacheSleuth's UnMorse tool, which also explores separator-free letter groupings. The technique is sometimes called "Morse code segmentation" or "Morse code parsing without delimiters" in academic literature on automatic Morse code decoding.
The tool is most useful for geocaching puzzles, CTF challenges, and escape rooms where Morse code is presented without separators. It also handles obfuscated Morse code where the dots and dashes have been replaced with other symbols, a common technique in puzzle design. For standard Morse code with separators, use the Morse code translator instead.
How to use this tool
- Paste your run-on Morse code into the input field. Spaces and other non-Morse characters are automatically stripped.
- Set the dot and dash characters if your puzzle uses non-standard symbols (default is . and -).
- Adjust the max results slider if you need more or fewer translations. The default is 200.
- Enable partial endings if your message may be truncated or the last character may be incomplete.
- Review the ranked results. Higher scores indicate more common English words in the decoded text.
- Click the copy button next to any result to copy it to your clipboard.
Real-world examples
Decoding a geocache puzzle
A geocacher finds a puzzle that gives the Morse code "....-..--.---" with no separators. They paste it into the UnMorse tool. The tool explores all valid splits and finds that "...." (H) + ".-.." (L) + ".--" (W) + ".." (I) + "-" (T) produces "HLWIT", while "...." (H) + ".-.." (L) + ".-" (A) + "..-" (U) + ".---" (J) produces "HLAUJ". Neither scores well. But "...." (H) + ".-.." (L) + "--" (M) + ".---" (J) is not valid. After trying more splits, the geocacher spots "HELLO" in the results: "...." (H) + "." (E) + ".-.." (L) + ".-.." (L) + "---" (O), which scores high because it contains no common English words but has a good vowel ratio.
Handling obfuscated Morse code
A CTF challenge presents the string "110101011101011101" and hints that it is Morse code. The solver realizes that 1 could be a dot and 0 could be a dash, or vice versa. They set the dot character to "1" and the dash character to "0" in the tool, paste the string, and review the results. If none of the high-scoring results make sense, they swap the characters (dot = 0, dash = 1) and try again. The correct setting produces readable English text at the top of the results list.
Using partial endings for a truncated message
An escape room team receives a Morse code transmission that was cut off: "....-..--.--". The last two dashes do not form a complete Morse letter on their own. The team enables partial endings in the tool. The results now include options where the final "--" is treated as the start of a longer pattern like "--." (G) or "---" (O) or "--.-" (Q). The team identifies the most likely complete word and proceeds to the next puzzle.
Comparison with similar methods
| Method | Complexity | Typical use |
|---|---|---|
| UnMorse (no separators) | Exponential in input length, pruned by valid patterns | Geocaching, CTF, escape rooms, puzzle solving |
| Standard Morse code translator | O(n) with separators, direct lookup | Learning Morse code, translating standard transmissions |
| Tap code decoder | O(n) with grid lookup, pairs of taps | Prisoner communication, puzzle solving |
| Bacon cipher decoder | O(n) with 5-bit groups, binary lookup | Steganography, historical cryptography |
Limitations or considerations
The UnMorse tool performs an exhaustive search of all valid letter groupings, which means the number of results grows exponentially with the length of the input. For inputs longer than about 25 characters, the number of possible splits can reach millions and the tool may be slow or may only return a subset of results. The max results setting caps the output, but the search itself still explores all branches up to that cap.
The English word frequency scoring is a heuristic, not a guarantee. Short inputs (under 5 characters) may not contain any recognizable words, so all results will have a score of zero and the ranking will be arbitrary. In these cases, you need to use context or additional information to identify the correct decoding.
The tool does not handle word boundaries. All results are continuous strings of letters with no spaces between words. If the original message had multiple words, you will need to identify word boundaries manually from the decoded text. Some puzzles include a separator for words but not for letters, in which case you should split on the word separator first and decode each word separately.
The tool only supports the 26 letters A-Z in standard International Morse Code. It does not decode digits (0-9), punctuation, or prosigns. If the input contains patterns that only match digits or punctuation, those branches will be pruned and the corresponding results will not appear.
Frequently asked questions
What is the UnMorse tool?
The UnMorse tool decodes Morse code that has no separators between letters. Standard Morse code uses spaces between letters, but sometimes you encounter Morse code where the dots and dashes run together. The tool tries all valid ways to split the continuous string into Morse code letters and ranks the results by English word frequency.
How does the UnMorse tool work?
The tool uses a recursive branching algorithm. At each position in the input, it tries every Morse code pattern (1 to 4 characters) that matches the start of the remaining string. Each match creates a new branch. The search continues until the entire string is consumed or no valid pattern matches. Complete decodings are collected and ranked by how many common English words they contain.
What is run-on Morse code?
Run-on Morse code is Morse code where the separators between letters have been removed. In standard Morse code, each letter is separated by a short pause (written as a space). Without these separators, the dots and dashes form a continuous string that can be split in many different ways, each producing a different decoded message.
Can the UnMorse tool handle custom dot and dash characters?
Yes. The tool has configurable dot and dash character fields. By default it expects dots (.) and dashes (-), but you can set any two characters. This handles puzzles where Morse code is obfuscated using different symbols, such as 0 and 1, or A and B. Set the characters, paste your input, and the tool will interpret it accordingly.
What are partial endings?
Partial endings mode allows the last Morse character in the input to be incomplete. For example, if the input ends with two dots that do not form a complete Morse letter on their own, the tool checks whether those dots could be the start of a longer pattern like "..." (S) or "..-" (U). This is useful for truncated or damaged messages where the final character may be cut off. Results with partial endings are marked with a question mark and an asterisk.
How many results can the tool produce?
The number of possible splits grows exponentially with the length of the input. A 10-character input can produce dozens of results, while a 20-character input can produce thousands. The tool caps the number of results at a configurable maximum (default 200) to keep the response fast. For very long inputs (over 25 characters), the search may be slow or may only return a subset of results.
Conclusion
The UnMorse tool solves the challenging problem of decoding Morse code without separators. For standard Morse code with spaces between letters, use the Morse code translator. For other encoding tools, see the binary to text converter and the Base64 encoder. For identifying unknown ciphers, try the cipher identifier.