| 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 }} |
Morse code is a timing based alphabet that represents letters and numbers with dots and dashes. It helps convey short messages by sound or light when conditions are noisy or bandwidth is limited.
Text to Morse code audio makes spacing easy to hear and compare, so practice can focus on rhythm and clarity. You set a speed in words per minute and decide whether to stretch the gaps for comfort.
Type or paste a line of text and you get an encoded sequence with counts and a clear run time. You can listen to a steady tone version and export a WAV file for drills or sharing with classmates.
For consistent results keep one language at a time, avoid unusual symbols when learning, and repeat runs at the same speed so your ear learns the pattern.
Morse code timing uses a single base unit that sets how long a dot lasts. From that unit the dash, the gap between symbols, the gap between letters, and the gap between words are derived. A common convention ties the unit to words per minute so the perceived message speed is predictable.
The calculator derives the dot unit from words per minute, then builds a timeline of tone and silence segments while counting dots, dashes, letters, words, and unknown characters. Farnsworth spacing optionally increases only the gaps between letters and words for easier copy while keeping the element speed unchanged.
Results include the dot unit in milliseconds, the total number of units, a duration in seconds, and the rendered Morse string using your chosen letter and word separators. Interpretation is direct. A shorter unit means faster code, and a higher Farnsworth value produces longer silence between letters and words.
Comparisons are meaningful when you keep the same words per minute, the same Farnsworth setting, and similar tone frequency and volume. Mixed punctuation and unsupported symbols can reduce letter counts and slightly change totals when replacements are enabled.
| Symbol | Meaning | Unit/Datatype | Source |
|---|---|---|---|
| u | Dot duration | s | Derived |
| uf | Farnsworth unit for gaps | s | Derived |
| Lg | Letter gap | s | Derived |
| Wg | Word gap | s | Derived |
| WPM | Words per minute (PARIS) | number ≥ 1 | Input |
| F | Farnsworth WPM | number ≥ 0 | Input |
| T | Total duration | s | Derived |
| N | Total time units | count | Derived |
| Input | Accepted Families | Output | Encoding/Precision | Rounding |
|---|---|---|---|---|
| Text | Typed or pasted; dropped plain‑text file | Morse string | “.” and “–” with custom separators | Letter and word gaps per uf |
| Numbers | WPM, Farnsworth, frequency, volume, silence | Metrics CSV | Unit ms, counts, totals | Unit ms rounded; duration to 2 decimals |
| Policy | Skip or replace unknown characters | Audio | WAV PCM 16‑bit, 44.1 kHz, mono | Exact synthesis; envelope smoothing |
| Field | Type | Min | Max | Step/Pattern | Placeholder |
|---|---|---|---|---|---|
| Text | Textarea | — | — | — | Paste text or drop a file… |
| WPM | Number | 1 | — | 1 | — |
| Farnsworth WPM | Number | 0 | — | 1 | — |
| Frequency (Hz) | Number | 100 | — | 1 | — |
| Volume (%) | Number | 0 | 100 | 1 | — |
| Lead silence (s) | Number | 0 | — | 0.05 | — |
| Tail silence (s) | Number | 0 | — | 0.05 | — |
| Unknown policy | Select | — | — | skip / replace | — |
| Placeholder char | Text | — | — | maxlength=1 | — |
| Letter separator | Text | — | — | string | — |
| Word separator | Text | — | — | string | — |
| Constant | Value | Unit | Source | Notes |
|---|---|---|---|---|
| Dash length | 3 | u | Derived | Per Morse definition |
| Symbol gap | 1 | u | Derived | Between dot/dash within a letter |
| Envelope ramp | 0.003 | s | Code | Click‑reduction on tone edges |
| Sample rate | 44100 | Hz | Code | Fixed for WAV export |
| Bit depth | 16 | bits | Code | PCM, mono |
| Frequency clamp | ≥ 100 | Hz | Code | Protects against inaudible tones |
| Amplitude headroom | 0.9 | × | Code | Prevents digital clipping |
Units, precision, and rounding. The unit is shown in milliseconds rounded to the nearest whole number. Duration is displayed with two decimals. Counts are integers. JSON summaries include the first 24 timeline points for a quick glance; audio synthesis uses the full timeline.
Networking and storage. Processing is client‑only. Dropped files are read locally and never transmitted. Audio playback and WAV creation occur entirely on the device.
Performance. Encoding runs in linear time with the number of characters. Audio rendering scales with total samples at 44.1 kHz and is practical for typical practice passages.
Morse code timing and audio generation follow a simple input and review loop for repeatable practice.
No. Text and audio are processed on your device. Dropped files are read locally and are not transmitted or saved to a server.
Dot length is 1.2 divided by WPM. Duration is computed from exact segments, shown to two decimals, and smoothed with a short envelope to reduce clicks.
A–Z, 0–9, and punctuation . , ? ’ ! / ( ) & : ; = + − _ “ $ @ are mapped. Unmapped characters can be skipped or replaced by a single placeholder.
Yes. Set a Farnsworth WPM lower than the element WPM to lengthen letter and word gaps without changing dot and dash speed.
Mono WAV, 16‑bit PCM at 44.1 kHz, with a gentle 3 ms fade on tone edges to avoid clicks.
If Farnsworth equals or exceeds WPM, gap stretching is disabled by design. Choose a lower Farnsworth value to enable it.
@ maps to .‑‑.‑. and $ maps to …‑..‑ in the built‑in table. Other symbols may be unmapped and treated as unknowns.
Yes. Once loaded, encoding, playback, and export need no network connection.
No license text is embedded here. Usage terms depend on the host site that distributes this tool.