User Rating 0.0 โ˜…โ˜…โ˜…โ˜…โ˜…
Total Usage 0 times
Letters, numbers, and common punctuation supported
Use dots (.) and dashes (- or _). Space between letters, double space or / between words.
Base duration of 1 dot in milliseconds
Words per minute (overrides time unit)
Morse Code
Timing Array
Visual Timeline
0.0s
Quick Presets
Is this tool helpful?

Your feedback helps us improve.

โ˜… โ˜… โ˜… โ˜… โ˜…

About

Morse code timing governs how receivers distinguish dots from dashes. A miscalibrated time unit causes decoding failures. The ITU-R M.1677 standard defines a dot as 1 time unit, a dash as 3 units, intra-character silence as 1 unit, inter-letter silence as 3 units, and inter-word silence as 7 units. This tool converts plaintext or raw Morse notation into an exact timing array calibrated to your chosen base unit T in milliseconds. It generates flat timing sequences compatible with hardware controllers, LED drivers, and audio oscillators.

The converter handles the full ITU Morse alphabet including numerals and punctuation. Timing output follows the on-off-on-off pattern used by serial protocols. Note: Farnsworth spacing (separate character vs. word timing) is not implemented. The tool assumes standard spacing ratios throughout.

morse code timing converter signal timing morse encoder dit dah morse audio morse code generator telegraphy

Formulas

The timing array is constructed by mapping each Morse element to an on/off duration pair scaled by the base time unit T.

tdot = 1 ร— T
tdash = 3 ร— T
tintra = 1 ร— T (gap between elements within a letter)
tletter = 3 ร— T (gap between letters)
tword = 7 ร— T (gap between words)

The total signal duration for a message is:

D = nโˆ‘i=0 ti

Where T = base time unit in ms, tdot = dot on-duration, tdash = dash on-duration, tintra = intra-character off-gap, tletter = inter-letter off-gap, tword = inter-word off-gap, D = total message duration, n = number of timing segments.

At 20 WPM (words per minute), the standard word โ€œPARISโ€ occupies 50 time units, yielding T = 6000020 ร— 50 = 60 ms.

Reference Data

CharacterMorse PatternTiming (units)Total Units
Aยท -1,1,35
B- ยท ยท ยท3,1,1,1,1,1,19
C- ยท - ยท3,1,1,1,3,1,111
D- ยท ยท3,1,1,1,17
Eยท11
Fยท ยท - ยท1,1,1,1,3,1,19
G- - ยท3,1,3,1,19
Hยท ยท ยท ยท1,1,1,1,1,1,17
Iยท ยท1,1,13
Jยท - - -1,1,3,1,3,1,313
K- ยท -3,1,1,1,39
Lยท - ยท ยท1,1,3,1,1,1,19
M- -3,1,37
N- ยท3,1,15
O- - -3,1,3,1,313
Pยท - - ยท1,1,3,1,3,1,111
Q- - ยท -3,1,3,1,1,1,313
Rยท - ยท1,1,3,1,17
Sยท ยท ยท1,1,1,1,15
T - 33
Uยท ยท -1,1,1,1,37
Vยท ยท ยท -1,1,1,1,1,1,39
Wยท - -1,1,3,1,39
X- ยท ยท -3,1,1,1,1,1,311
Y- ยท - -3,1,1,1,3,1,313
Z- - ยท ยท3,1,3,1,1,1,111
0- - - - -3,1,3,1,3,1,3,1,319
1ยท - - - -1,1,3,1,3,1,3,1,317
2ยท ยท - - -1,1,1,1,3,1,3,1,315
3ยท ยท ยท - -1,1,1,1,1,1,3,1,313
4ยท ยท ยท ยท -1,1,1,1,1,1,1,1,311
5ยท ยท ยท ยท ยท1,1,1,1,1,1,1,1,19
6- ยท ยท ยท ยท3,1,1,1,1,1,1,1,111
7- - ยท ยท ยท3,1,3,1,1,1,1,1,113
8- - - ยท ยท3,1,3,1,3,1,1,1,115
9- - - - ยท3,1,3,1,3,1,3,1,117

Frequently Asked Questions

Per ITU-R M.1677, a dot is exactly 1 time unit and a dash is 3 time units. The gap between elements within a single character is 1 unit. Between letters the gap is 3 units. Between words it is 7 units. These ratios are fixed and do not change with speed. Only the base unit T in ms changes.
The reference word is PARIS, which equals 50 time units including trailing word gap. The formula is T = 60000 รท (WPM ร— 50). At 13 WPM (common amateur speed), T ≈ 92.3 ms. At 20 WPM, T = 60 ms.
The converter supports ITU standard punctuation including period, comma, question mark, apostrophe, exclamation mark, slash, parentheses, ampersand, colon, semicolon, equals sign, plus, minus/hyphen, double quote, dollar sign, and at sign. Characters outside this set are silently skipped with a word-gap equivalent pause.
Farnsworth spacing sends individual characters at a higher speed (shorter T) but increases the inter-letter and inter-word gaps to slow the overall rate. This helps learners recognize letter patterns at full speed while having more time to process. This tool uses standard ITU spacing only. Farnsworth timing requires two separate T values, which is not currently implemented.
Yes. The flat timing array alternates between on-duration and off-duration values in milliseconds. Feed these sequentially to a GPIO pin using setTimeout or a hardware timer. The first value is always on-time, second is off-time, and so on. The array always ends with a final off-time (the trailing word gap of 7 units).
The 600 Hz tone is the traditional CW (continuous wave) sidetone frequency used in amateur radio receivers. It falls within the peak sensitivity range of human hearing (500 - 1000 Hz) and cuts through noise well. The tool uses Web Audio API OscillatorNode for precise scheduling, avoiding setTimeout drift.