Encode Summary
{{ duration_readable }}
Total duration
WPM {{ wpm }} Farnsworth {{ farnsworth_wpm }} {{ letter_count }} letters {{ word_count }} words {{ dots }} · {{ dashes }} Unknown {{ unknown_count }}
{{ morse_display }}
Text:
Metric Value Copy
Unit (ms) {{ Math.round(unit_ms) }}
Total units {{ total_units }}
Duration (s) {{ duration_seconds.toFixed(2) }}
Characters {{ char_count }}
Words {{ word_count }}
Letters encoded {{ letter_count }}
Unknown chars {{ unknown_count }}
Dots {{ dots }}
Dashes {{ dashes }}
Input text {{ input_text }}
Morse {{ morse_display }}

                

Introduction:

Morse code is a timing based alphabet that represents letters, numbers, and some symbols as short and long signals. Use this text to Morse code converter when you want a clear pattern you can also listen to. It turns everyday writing into dots and dashes you can read at a glance while the audio version teaches the cadence behind the marks.

Enter any short message or paste a paragraph. You see the coded sequence and can play a tone version to hear spacing at your chosen speed. Punctuation and numbers are handled where defined, and uncommon symbols are either skipped or replaced with a placeholder so the pattern stays readable clearly.

Example: Type SOS MEET AT 7 and you will see sequences like ... --- ... / -- . . - / .- - / --... and hear a steady tone that matches the marks. If you include accented letters or unusual punctuation they may not map, so you can keep or replace them using a simple placeholder.

For clearer practice, slow the spacing between letters and words while keeping characters crisp with Farnsworth timing. Pick a comfortable pitch and volume so long sessions stay easy on the ears. Add a brief silence before and after playback if you want really clean cues for recording or group teaching.

Technical Details:

International Morse code maps characters to dots and dashes, forming elements and gaps that create rhythm. A dot defines the base time unit; a dash lasts three units. Gaps follow a simple rule set: one unit between elements of a letter, three units between letters, and seven units between words. Words per minute (WPM) sets the physical size of one unit using the common PARIS convention.

Farnsworth timing stretches only the spaces between letters and words while keeping element speed unchanged. When the effective Farnsworth rate is set lower than the character rate, letter gaps adopt three units at the Farnsworth scale and word gaps adopt seven units at that scale; otherwise, gaps use the main unit. The mapping includes A–Z, 0–9, and common marks such as period, comma, question mark, apostrophe, exclamation mark, slash, parentheses, ampersand, colon, semicolon, equals, plus, hyphen, underscore, straight quote, dollar, and at sign.

Read outputs as rhythm and timing: the Morse text shows structure; dot and dash counts indicate element balance; total units and duration summarize how long playback will take. Faster character speed compresses elements; Farnsworth spacing lengthens the silence between letters and words without changing element lengths, which helps learners hear clear character shapes.

u = 1.2WPM s uf = {  if  0<f<WPM 1.2f  else u} s d = u d = 3u symbol gap = u letter gap = 3uf word gap = 7uf
T = uN + 3uN + uNsym + (3ufu)Nigap + (7ufu)Nwgap +lead+tail
Symbols and units used by the Morse timing model
Symbol Meaning Unit/Datatype Source
uDot time unitsDerived
ufFarnsworth unitsDerived
WPMWords per minutenumberInput
fFarnsworth ratenumberInput
N•Dot countcountDerived
N—Dash countcountDerived
NsymSymbol countcountDerived
NigapInter‑letter gapscountDerived
NwgapInter‑word gapscountDerived
lead, tailSilence before/after audiosInput
TTotal playback timesDerived
freqTone frequencyHzInput
volumeTone levelpercentInput

Variables & Parameters:

Adjustable parameters and their effects
Parameter Meaning Unit/Datatype Typical Range Sensitivity Notes
SpeedCharacter rateWPM≥ 1HighControls element length u.
FarnsworthEffective spacing rateWPM0 or < SpeedMediumAffects letter/word gaps only.
FrequencyTone pitchHz≥ 100LowNo effect on timing.
VolumeTone level%0–100LowAmplitude with headroom.
Lead/Tail silencePadding before/afters≥ 0LowImproves cueing.
Unknown policyHow to handle unmappedenumskip/replaceMediumReplacement uses a placeholder mapping.
Placeholder charSymbol to substitutecharlength 1LowIf unmapped, falls back to ? mapping.
Letter separatorBetween lettersstringanyLowDefault is a single space.
Word separatorBetween wordsstringanyLowDefault is / with spaces.

Constants & Coefficients:

Fixed constants used by audio rendering
Constant Value Unit Source Notes
Sample rate44100HzImplementationPCM render for WAV export.
Fade time0.003sImplementationSoftens edges to prevent clicks.
Start offset0.05sImplementationStabilizes playback scheduling.
Bit depth16bitsImplementationMono PCM.
Headroom0.9ratioImplementationReduces clipping risk.

Units, Precision & Rounding:

  • Decimal separator is a dot. Durations are base‑10 values.
  • Unit (ms) is rounded to the nearest whole number using half‑up behavior.
  • Duration (s) displays with two decimal places.
  • Readable clock format shows whole seconds for minutes and seconds.

Validation & Bounds:

Input validation rules enforced by the app
Field Type Min Max Step/Pattern Notes
Speed (WPM)number11Character rate; must be ≥ speed of Farnsworth.
Farnsworth WPMnumber01Effective rate; ignored if 0 or ≥ Speed.
Frequencynumber1001Tone pitch for playback and export.
Volumenumber01001Master level.
Lead silencenumber00.05Padding before tone.
Tail silencenumber00.05Padding after tone.
Unknown policyselectskip/replaceReplace uses placeholder mapping.
Placeholder chartextmaxlength 1Falls back to ? mapping if needed.
Letter separatortextstringShown in encoded output.
Word separatortextstringShown between words.
Text file inputfileplain textReads local text content.

I/O Formats & Encoding:

Inputs and outputs produced by the app
Input Accepted Families Output Encoding/Precision Rounding
TextTyped or pasted messageMorse stringLetter and word separators configurableNot applicable
FilePlain‑text fileMetrics tableCounts and time valuesUnit ms rounded; seconds to 2 dp
WAV audioMono 16‑bit PCM at 44.1 kHzExact sample synthesis
CSV / JSONFields for inputs, totals, timeline sampleAs displayed

Networking & Storage Behavior:

  • Processing and audio synthesis occur on the device; no server requests are made during encoding or playback.
  • No persistent storage is used; files are generated in memory for download.

Performance & Complexity:

  • Encoding time grows linearly with the number of characters.
  • Audio rendering time scales with total duration times sample rate.

Diagnostics & Determinism:

  • Identical input and settings produce identical Morse, metrics, and audio.
  • JSON includes a sample of the timeline points for quick inspection.

Security Considerations:

  • Untrusted text is handled as plain text for encoding.
  • The highlighted JSON preview injects markup; the highlighter should escape values to prevent HTML injection.

Worked Example:

Message: HELLO

Settings: Speed 20 WPM; Farnsworth 10 WPM; lead 0.2 s; tail 0.2 s.

u=1.220=0.06 s uf=1.210=0.12 s Counts=N=11N=5Nsym=16Nigap=4 T1.56+0.96+1.20+0.40=4.12 s

Output Morse: .... . .-.. .-.. ---. The timing reflects faster elements at 20 WPM but wider gaps at 10 WPM for clarity.

Assumptions & Limitations:

  • Whitespace collapses; line breaks become single spaces between words. Heads‑up
  • Only mapped characters are encoded; others are skipped or replaced.
  • Farnsworth affects only inter‑letter and inter‑word gaps.
  • Pitch and volume change sound, not timings.
  • Very long texts produce large audio buffers.
  • Timeline preview shows a sample; the full sequence is used for audio.
  • Separators appear only in the displayed Morse string.
  • Letter counts exclude skipped characters.

Edge Cases & Error Sources:

  • Unmapped Unicode symbols or emoji are counted as unknowns.
  • Speed below 1 is clamped to 1.
  • Farnsworth equal to or above Speed has no effect.
  • Placeholder without a mapping falls back to the question mark mapping.
  • Multiple consecutive spaces or tabs are reduced to one gap.
  • Rounding may slightly change displayed totals vs. exact sums.
  • Very high volumes can clip external speakers despite headroom.
  • Extremely long durations risk floating‑point drift in sample synthesis.
  • Pausing is stop‑only; resuming restarts playback.
  • File reads require plain text; proprietary formats will not parse as expected.

Privacy & Compliance:

Files are processed locally; nothing is uploaded. No data is transmitted or stored server‑side. Audio generation uses the device’s sound stack.

Step‑by‑Step Guide:

Convert plain text into Morse and hear the timing.

  1. Paste or type your text into the input. Text
  2. Set character speed. Speed
  3. Optionally widen gaps with Farnsworth. Farnsworth
  4. Choose pitch and level. Frequency
  5. Add lead or tail padding if needed. Silence
  6. Copy the Morse or play the audio. Check volume
  7. Download the audio or a data summary if required.

Example: Text MEET AT 7 at moderate speed produces -- . . - / .- - / --... with clear word spacing and a concise duration.

  • Use Farnsworth to slow spacing without changing character shape.
  • Pick a pitch that is comfortable on your speakers or headphones.
  • Replace unknown symbols to preserve rhythm where characters are unsupported.
Pro tip: set a short lead silence to make precise recordings easier to trim.

FAQ:

What does Farnsworth do?

It widens the spaces between letters and words while keeping dot and dash lengths fixed. Characters remain crisp; the overall rhythm slows for easier learning.

How accurate is the duration?

The duration is computed from element and gap counts using the exact unit size. Displayed milliseconds are rounded and seconds show two decimals, so totals may differ slightly from raw sums.

Which characters are supported?

Letters A–Z, digits 0–9, and common punctuation including period, comma, question mark, apostrophe, exclamation mark, slash, parentheses, ampersand, colon, semicolon, equals, plus, hyphen, underscore, straight quote, dollar, and at sign.

Can I change pitch and volume?

Yes. Pitch sets the tone frequency and volume sets the output level. These controls affect sound only, not timing or total duration.

Is my data stored or sent anywhere?

No. Text and audio are handled on the device. Downloads are created locally and not uploaded.

Does it work without a network?

After the page loads, encoding and playback run on the device. You can keep working without a connection.

How to convert text to Morse audio?

Enter your message, set a comfortable speed, optionally apply Farnsworth, then play the tone or download the audio for practice.

Troubleshooting:

  • No sound: ensure your device volume is up and press Play once to unlock audio.
  • Clipboard blocked: allow clipboard permission or copy the text manually.
  • Download fails: check pop‑up/download blockers and try again.
  • Strange symbols: replace unsupported characters or remove accents.
  • Audio clicks: reduce volume slightly or increase lead/tail silence.
  • Duration mismatch: rounding may slightly change displayed totals.

Advanced Tips:

Tip Use a lower Farnsworth rate with a higher character speed to hear crisp shaping with generous spacing.

Tip Set a short lead silence to align multiple practice recordings easily.

Tip Custom separators can make printed handouts easier to scan.

Tip Keep volume moderate to avoid speaker distortion during long dashes.

Tip Practice with short words first; then reduce Farnsworth spacing as recognition improves.

Glossary:

Dot (dit)
Shortest Morse element lasting one unit.
Dash (dah)
Long element lasting three units.
Unit
Time base derived from words per minute.
Farnsworth
Method that widens gaps while keeping element speed.
WPM
Words per minute; sets element length.
Inter‑letter gap
Silence between letters in a word.
Word gap
Silence between consecutive words.