{{ summaryTitle }}
{{ summaryValue }}

{{ summaryLine }}

Speed {{ resultsReady ? `${computation.normalizedInputs.character_wpm} WPM` : '—' }} Signals {{ resultsReady ? signalCount : '—' }} Duration {{ resultsReady ? durationDisplay : '—' }}

{{ summaryAnnouncement }}

Morse message settings
Enter one message of up to 1,000 characters, or load a local TXT file.
Drop TXT onto the textarea; files over 100 KB are rejected.
{{ character_wpm }} WPM
15–20 WPM is a practical starting range for listening practice.
{{ tone_frequency_hz }} Hz
500–800 Hz is a comfortable range for many listeners.
Skipped or replaced characters are counted in the encoding ledger.
The default question mark maps to ..--...
0 disables Farnsworth spacing. Values at or above character speed use standard spacing.
WPM
The neutral default is 0 seconds.
s
The neutral default is 0 seconds.
s
{{ computation.values.encoded_morse }}
{{ morseExportStatus }}
{{ chartExportStatus }}

The chart renderer is unavailable. Timing remains available in the encoding ledger.

SignalValueMeaningCopy
{{ row.label }}{{ row.display }}{{ row.detail }}
{{ ledgerExportStatus }}
Tone playback
Morse tone:
{{ audioPlaying ? 'Playing' : 'Ready' }}
Audio is generated locally. Messages longer than three minutes remain encodable but audio actions are disabled to bound memory and playback work.
{{ audioStatus }}

Introduction:

Silence is part of Morse code. Dots and dashes identify the signals inside a character, but gaps tell the listener where one signal, letter, or word ends. Correct symbols with incorrect spacing can still produce a message that is hard to copy by ear.

International Morse assigns a variable-length pattern to Latin letters, digits, accented É, and selected punctuation. Common characters tend to be short: E is one dot and T is one dash. Less frequent characters use longer combinations. Text is normally learned as audible rhythm rather than by counting marks one at a time.

Standard Morse signal and spacing proportions
Element Duration Function
Dot1 unitShort signal
Dash3 unitsLong signal
Gap inside a character1 unitSeparates dots and dashes
Gap between letters3 unitsSeparates character patterns
Gap between words7 unitsSeparates words

Words per minute (WPM) sets the duration of the basic unit using the standard word PARIS. Raising character speed shortens every dot, dash, and internal gap. Tone frequency changes the pitch of generated audio but not the code or timing.

Farnsworth timing separates character recognition from overall reading speed. Characters keep their faster rhythm while the gaps between letters and words are stretched to a lower effective speed. This gives a learner more time to recognize each pattern without teaching an unnaturally slow dot-and-dash rhythm.

Not every written character has a mapping in the supported International Morse table. Skipping an unknown character changes the message, while replacing it with a question mark or another mapped placeholder makes the uncertainty audible. The encoded result should therefore be checked whenever the source includes emoji, non-Latin scripts, or unusual symbols.

How to Use This Tool:

Choose how unsupported characters should be handled before relying on the encoded message.

  1. Enter Text to encode or load a local TXT file. Messages may contain up to 1,000 characters; files over 100 KB are rejected before loading.
  2. Set Character speed and Tone frequency. Character speed controls timing from 1 to 60 WPM, while the 100 to 1,200 Hz tone changes only audio pitch.
  3. Choose Unsupported characters. Skip removes unmapped characters; replace uses exactly one mapped placeholder such as ?.
  4. Set Farnsworth effective speed only when slower spacing is wanted, then inspect the unknown-character count and total duration. Messages longer than three minutes remain encodable, but playback and WAV creation are disabled.

Interpreting Results:

Spaces between encoded letters and slashes between encoded words preserve the text boundaries in the printed result. The signal timeline and audio use the same durations, so a longer word gap or Farnsworth letter gap should appear consistently in both.

An unknown-character count above zero means the output is not a direct symbol-for-symbol rendering of the source. Check whether those characters were skipped or replaced before sharing the result. A zero count confirms coverage by the supported map, not correct spelling, radio procedure, or suitability for operational traffic.

Technical Details:

Encoding uppercases each source character, looks it up in the International Morse table, and preserves word boundaries after unsupported-character handling. Every accepted character becomes a dot-dash pattern; the timing model then expands that pattern into alternating tone and silence segments.

Transformation Core

Representative International Morse mappings
Character Morse Character Morse
A.-N-.
E.T-
S...O---
1.----0-----
?..--../-..-.
É..-..@.--.-.

For example, SOS becomes ... --- .... Each S expands into three one-unit tones separated by one-unit internal gaps; O expands into three three-unit tones with the same internal gaps. The three-unit letter gaps sit between S, O, and S. A slash is inserted only between source words in the printed encoding.

Skip policy removes unsupported characters before transmission. Replace policy substitutes the selected mapped character. If all source characters are removed, encoding fails rather than returning an empty message.

Formula Core

Under the 50-unit PARIS convention, dot duration t in seconds is determined by character speed Wc:

t = 1.2Wc

A dash lasts 3t; an internal signal gap lasts t. With standard spacing, letter and word gaps last 3t and 7t. At 20 WPM, one dot is 0.06 seconds and one dash is 0.18 seconds.

Farnsworth spacing is active only when effective speed Wf is greater than zero and lower than character speed. The stretched spacing unit s is derived from 31 signal/internal units and 19 letter/word spacing units in PARIS:

s = 60Wf−31t 19

Letter gaps then last 3s and word gaps 7s; character elements remain based on t. An effective speed of 0 or a value at least as high as character speed uses standard spacing. Lead and tail silence from 0 to 3 seconds are added directly to total duration.

Privacy and Audio Limits:

Typed text, loaded TXT content, timing, playback, and WAV generation stay in the browser. Very long audio is limited to protect browser memory and playback work: encoding remains available above 180 seconds, but audio actions do not. Generated tones are practice aids and do not account for transmitter shaping, propagation, operator variation, or radio procedure.

References: