{{ morseCadenceLiveText }}
Morse code decoder input
Separate letters with spaces and words with /, for example .... . .-.. .-.. --- / .-- --- .-. .-.. -...
Drop TXT Morse onto the textarea.
Ignored {{ extraLinesIgnored }} extra line(s). Paste/import one item at a time.
Enter space, tab, newline, or the exact character used between Morse letters.
Common written Morse uses / between words; use the same marker as your source.
Replace keeps a marker in the decoded text; Skip removes bad groups.
Use one visible character such as ? or #.
Use a space, newline, or custom token for normalized Morse exports.
Default / keeps copied Morse compatible with common practice sheets.
Choose UPPER for radio logs, or lower, title, or sentence case for readable copy.
{{ boundedAudioWpm }} WPM
Use 5-40 WPM for practice exports; higher values play faster.
WPM
{{ boundedAudioFarnsworthWpm === 0 ? 'Off' : `${boundedAudioFarnsworthWpm} WPM` }}
Use 0 to disable; otherwise set lower than audio speed for wider gaps.
WPM
{{ boundedAudioFrequencyHz }} Hz
Typical practice tones are 500-800 Hz; adjust for your speaker or headphones.
Hz
{{ boundedAudioVolumePercent }}%
Range: 0-100%; start lower for headphones.
{{ boundedAudioLeadSeconds.toFixed(2) }} s
Seconds before the first tone; 0.20-0.50 is enough for most exports.
s
{{ boundedAudioTailSeconds.toFixed(2) }} s
Seconds after the last tone; match lead silence for balanced practice files.
s
{{ decoded_text }}
Field Value Copy
Characters {{ char_count }}
Words {{ word_count }}
Letters decoded {{ letters_decoded }}
Unknown tokens {{ unknown_count }}
Dots {{ dots }}
Dashes {{ dashes }}
Distinct tokens {{ distinct_tokens }}
Audio seconds {{ decodeResult.total_time_sec.toFixed(2) }}
Normalized Morse {{ normalized_morse }}
Decoded text {{ decoded_text }}
Morse playback:
{{ playing ? 'Playing' : 'Ready' }}
Playback uses the speed, Farnsworth, frequency, volume, lead silence, and tail silence settings.
{{ playing ? 'Tone output is playing now.' : 'Ready to play or export the decoded tone plan.' }}
Audio field Value Copy
Duration {{ decodeResult.total_time_sec.toFixed(2) }} s
Speed {{ boundedAudioWpm }} WPM
Farnsworth {{ boundedAudioFarnsworthWpm }} WPM
Tone frequency {{ boundedAudioFrequencyHz }} Hz

        
Customize
Advanced
:

Written Morse looks compact because the message has already been reduced to marks and separators. A dot or dash by itself is not enough to identify a letter; the reader also needs to know where one character ends and where the next word begins. The same marks can decode cleanly or turn into nonsense depending on whether spaces, slashes, line breaks, or custom dividers have been copied faithfully.

International Morse code is a codebook, not a cipher. Each supported written character has a fixed dot-dash group, such as ... for S, --- for O, and .---- for 1. Decoding reverses that lookup. The difficult part in ordinary copied text is usually not the letter map, but the boundaries around it: extra spaces, missing slashes, pasted punctuation, or worksheet separators can change the groups before the lookup even starts.

Diagram comparing dot, dash, letter gap, and word gap timing units

Timing terms still matter after Morse has been written down. In sound or light, a dot is one time unit, a dash is three units, the gap between letters is three units, and the gap between words is seven units. In a plain text transcript, those gaps become conventions. A single space often separates letters, while a slash often separates words. Some practice sheets use pipes, double spaces, or custom markers instead, so a reliable decode starts by matching the separator convention used by the source.

Common written Morse situations and separator risks
Situation What usually matters Common mistake
Practice worksheet Letter and word separators are usually visible and consistent. Using a space as the word separator when the sheet uses a slash.
Copied radio note Groups may include digits, punctuation, call signs, and abbreviations. Reading an unknown group as a typo without checking the original copy.
Puzzle or classroom clue Formatting may be stylized with bullets, long dashes, pipes, or line breaks. Letting decorative dash glyphs or nonstandard dividers change the parse.
Audio copied by ear The written transcript depends on the listener's judgment about gaps. Assuming a clean text decode proves the original timing was copied correctly.

A decoded sentence is therefore only as trustworthy as its grouping. Clean text with one skipped group can hide a missing character, while replacement markers make errors noisier but easier to audit. For lessons, log cleanup, puzzle answers, or copied-message review, check both the readable text and the normalized Morse before treating the result as final.

How to Use This Tool:

Start with the separator convention, then refine the readable output and audio settings once the parse is correct.

  1. Paste written Morse into Morse code, or use Browse TXT to load a plain text file. The decoder uses the first non-blank line and reports later non-blank lines as ignored.
  2. Set Letter separator to the marker between character groups. Use space for input like .... . .-.. .-.. ---, or enter the exact custom divider used in the source.
  3. Set Word separator to the marker between words. The default slash matches common written Morse such as .... . .-.. .-.. --- / .-- --- .-. .-.. -...
  4. Choose Unknown token policy. Replacement keeps a visible placeholder in Decoded Text, while skip removes unrecognized groups and can make a damaged message look cleaner than it is.
  5. Use Case mode, Output letter separator, and Output word separator after Unknown tokens looks right. These settings format the result and normalized Morse; they do not make invalid groups valid.
  6. Adjust Audio speed, Farnsworth speed, Tone frequency, Volume, Lead silence, and Tail silence when you want the decoded pattern as practice playback or a WAV file.

If the output is blank, merged, or full of placeholders, check Letter separator and Word separator first. Separator mistakes change the groups before any codebook lookup happens.

Interpreting Results:

Decoded Text is the readable answer, but it should be reviewed with Unknown tokens and Normalized Morse. A zero unknown count and a normalized line that matches the intended grouping are the strongest signs that the text decode is reliable.

Morse decoder outputs and review cues
Output Meaning Review cue
Words Word groups created from the selected word separator. An unexpected count usually points to a missing or wrong word divider.
Letters decoded Dot-dash groups parsed as character tokens, including groups that do not decode. Compare it with the visible number of groups in the source line.
Unknown tokens Parsed groups that are not in the supported Morse map. Any value above zero means the readable text needs review.
Normalized Morse Recognized Morse groups rebuilt with the chosen output separators. If it is shorter than the source, unsupported groups were not carried into the normalized line.
Letter Frequency Chart A count of decoded A to Z letters. Digits and punctuation can decode correctly without appearing as bars.
Tone Timeline Chart A generated audio plan based on the current WPM and spacing settings. It shows practice playback timing, not measured timing from an original recording.

A readable sentence can still be wrong when a separator merged two letters into one valid-looking group. When the result matters, compare Decoded Text against Normalized Morse, then inspect any placeholder or unknown count before copying the text into notes or training material.

Technical Details:

International Morse code assigns dot-dash groups to letters, figures, and selected punctuation. The written group is case-insensitive because dots and dashes carry the character identity; output case is a later formatting choice. Separators are not part of the codebook, but they decide which mark runs become lookup tokens.

A written decoder has two separate jobs. First it must normalize copied marks and split the line into tokens. Then it can look up each token in the codebook and preserve enough diagnostics to show whether the parse was trustworthy. Unknown groups are especially important because they can represent a typo, a prosign not covered by the character map, a copied separator error, or a real source mark that needs manual review.

Transformation Core:

Morse decoding transformation rules
Stage Rule Consequence
Line selection The first non-blank line is decoded; later non-blank lines are counted as ignored. Notes or multiple pasted messages do not silently merge into one decode.
Mark normalization Common dot-like glyphs become ., dash-like glyphs become -, and tab or nonbreaking space characters become ordinary spaces. Copied material from documents can still decode when the intended marks are recognizable.
Word split The selected word separator divides word groups. A slash separator also tolerates the common spaced form around /. A wrong word divider changes Words and can merge separate words.
Letter split Each word group is split by the selected letter separator; space mode treats repeated whitespace as a single boundary. A wrong letter divider can turn valid letters into one invalid token.
Lookup Known tokens produce characters. Unknown tokens are either replaced by the chosen placeholder or skipped. Replacement protects auditability; skipping is cleaner but can hide missing source content.

Codebook Core:

The supported map covers A to Z, digits 0 to 9, and common punctuation including period, comma, question mark, apostrophe, exclamation mark, slash, parentheses, ampersand, colon, semicolon, equals, plus, hyphen, underscore, quotation mark, dollar sign, and at sign. Operational prosigns and special signals that do not share one of those supported written characters should be treated as unknown unless the source has already expanded them into ordinary characters.

Representative Morse codebook examples
Group type Examples Decode note
Short letters E = ., T = -, I = .., M = -- Single-mark and two-mark tokens are valid when separated correctly.
Common words SOS = ... --- ..., HELLO = .... . .-.. .-.. --- Spaces between tokens decide where one letter ends and the next begins.
Digits 1 = .----, 5 = ....., 0 = ----- Numbers use the same token lookup path as letters.
Punctuation ? = ..--.., / = -..-., @ = .--.-. Supported punctuation appears in decoded text; unsupported groups increase Unknown tokens.

Timing Core:

Morse timing is built from a dot unit. The common PARIS words-per-minute convention treats one standard word as 50 dot units, so a dot at character speed WPM is 1.2 / WPM seconds. A dash is three dot units. Farnsworth timing keeps the character marks at the selected character speed while widening the gaps between letters and words when the Farnsworth speed is lower than the character speed.

u = 1.2WPM dash = 3u ugap = { 1.2F if 0<F<WPM u otherwise } letter gap = 3ugap word gap = 7ugap

At 20 WPM, one dot unit is 0.06 seconds and one dash is 0.18 seconds. If Farnsworth is set to 8 WPM, the dots and dashes keep the 20 WPM length while the letter and word gaps use a 0.15-second gap unit. Lead silence, tail silence, and the final off segment in the generated tone plan can make Audio seconds slightly longer than a textbook count of only marks and inter-character gaps.

Privacy Notes:

The Morse text, decoded output, charts, audio preview, and WAV rendering are handled in the browser after the page loads. The message can also be reflected in shareable page settings, so avoid sharing the address when the Morse text itself is sensitive.

This is a written-Morse decoder. It does not listen to a microphone, analyze recordings, or read a waterfall trace. Audio, light, or hand-keyed material must be transcribed into dots, dashes, and separators before it can be decoded here.

Worked Examples:

Default classroom phrase. With .... . .-.. .-.. --- / .-- --- .-. .-.. -.., a space as Letter separator, and / as Word separator, Decoded Text becomes HELLO WORLD. Unknown tokens should be 0, and Normalized Morse should preserve the same groups with the chosen output separators.

Custom worksheet dividers. A line such as ....|.|.-..|.-..|---#.--|---|.-.|.-..|-.. needs | as Letter separator and # as Word separator. If those fields are left at their defaults, the grouped marks will not split correctly and Unknown tokens will rise.

Damaged or unsupported group. If ... --- ... / ........ is decoded with replacement enabled, Decoded Text keeps a placeholder for the eight-dot group and Unknown tokens shows 1. Treat that as a review flag rather than silently accepting the readable part of the message.

FAQ:

Can it decode Morse from an audio recording?

No. The input must already be written as dots, dashes, and separators. Use the audio controls to play or download the decoded pattern after the written message has been parsed.

Why did only one line decode from my text file?

The decoder uses the first non-blank line and reports extra non-blank lines as ignored. Decode one message at a time so unrelated notes do not merge into one result.

Why are the words merged or split incorrectly?

The Word separator does not match the source. Common written Morse uses /, but some worksheets use double spaces, pipes, hashes, or line breaks.

Why are digits missing from the Letter Frequency Chart?

The chart counts only decoded A to Z letters. Digits and punctuation can still appear in Decoded Text, Decode Metrics, and JSON.

Does a zero unknown count prove the message is correct?

No. It proves that every parsed group matched the supported codebook. A wrong separator can still split the source into valid but unintended groups, so compare Decoded Text with Normalized Morse.

Glossary:

Dot or dit
The short Morse mark and the base timing unit for playback.
Dash or dah
The long Morse mark, equal to three dot units in standard timing.
Token
One parsed dot-dash group that is looked up as a letter, digit, or punctuation mark.
Letter separator
The written boundary between Morse character groups.
Word separator
The written boundary between Morse words, often shown as a slash.
Farnsworth timing
A practice timing method that keeps characters fast while widening the spaces between letters and words.
Normalized Morse
The recognized groups rebuilt with consistent output separators.

References: