How Morse Code Works
Morse code is built from one unit of time. A dot lasts one unit and a dash three; the gap inside a letter is one unit, between letters three units and between words seven. Speed is measured in words per minute using the word PARIS, which is exactly 50 units long.
By Kashif Sulehria. Last reviewed 19 September 2026. Every tool on MorseBeep uses the rules on this page.
What Morse code means
Morse code is a way of writing letters, numbers and punctuation as patterns of short and long signals, called dots and dashes (or dits and dahs when spoken). It is named after Samuel Morse, who developed the electric telegraph with Alfred Vail. Because it only needs something that can be switched on and off, the same message works as sound, light, radio or taps. What a signal means comes entirely from its timing, which is what the rest of this page explains.
The five timing rules
| Element | Length |
|---|---|
| Dot (dit) | 1 unit |
| Dash (dah) | 3 units |
| Gap between dots and dashes inside a letter | 1 unit |
| Gap between letters | 3 units |
| Gap between words | 7 units |
These proportions are what make Morse code readable by ear. Experienced operators hear each letter as a rhythm, not as a count of dots and dashes, and the rhythm only works when the timing is right.
PARIS: the standard word
To measure speed, operators needed a typical word. The one used is PARIS, because its dots, dashes and gaps add up to exactly 50 units, including the seven unit gap before the next word:
Words per minute (WPM)
Sending PARIS once per minute takes 50 units per minute, so a speed of W words per minute is 50 × W units per minute. One minute is 60,000 milliseconds, which gives the formula every Morse program uses:
unit (ms) = 1200 ÷ WPM
| Speed | Dot | Dash | Word gap |
|---|---|---|---|
| 5 WPM | 240 ms | 720 ms | 1680 ms |
| 10 WPM | 120 ms | 360 ms | 840 ms |
| 13 WPM | 92 ms | 277 ms | 646 ms |
| 15 WPM | 80 ms | 240 ms | 560 ms |
| 20 WPM | 60 ms | 180 ms | 420 ms |
| 25 WPM | 48 ms | 144 ms | 336 ms |
| 30 WPM | 40 ms | 120 ms | 280 ms |
| 40 WPM | 30 ms | 90 ms | 210 ms |
Some programs also use the word CODEX (60 units), which gives a slightly slower real speed for the same setting. MorseBeep uses PARIS, as most software and the ARRL do.
Farnsworth spacing
Learners are often taught with Farnsworth spacing: each letter is sent at full speed, so it keeps the rhythm you will hear later, but the gaps between letters and words are stretched so the overall speed is slower. The ARRL standard (Bloom, 1990) spreads the extra time over the 19 units of spacing in PARIS:
- Extra time per word:
ta = (60c − 37.2s) ÷ (c × s)seconds, where c is the character speed and s the overall speed, both in WPM. - Gap between letters:
3 × ta ÷ 19 - Gap between words:
7 × ta ÷ 19
For example, letters at 18 WPM with an overall speed of 10 WPM give dots of 67 ms, but gaps of 621 ms between letters and 1449 ms between words. When both speeds are the same, the formulas give the normal 3 and 7 unit gaps. You can set both speeds in the settings of every MorseBeep tool.
Tone and sound
The pitch of the beep doesn't change the timing. Radio operators usually listen to a tone between about 500 and 800 Hz; MorseBeep starts at 600 Hz and lets you choose 300 to 1200 Hz. Each beep fades in and out over 5 milliseconds. Switching a tone on and off instantly makes a click (radio operators call them key clicks), and the short fade removes it without changing how long the beep lasts.
The standard: ITU-R M.1677-1
International Morse code is defined by the International Telecommunication Union in Recommendation ITU-R M.1677-1 (October 2009). It lists the letters, figures, punctuation marks and service signals, and sets the spacing rules above: a dash equals three dots, the space inside a letter one dot, between letters three dots and between words seven dots. The @ sign was the most recent addition, in 2004.
A few signs that people commonly use, such as the exclamation mark (-.-.--), are not in the standard. The Morse code alphabet page marks them.
International and American Morse code
The code Samuel Morse and Alfred Vail created for the American telegraph is now called American Morse or railroad Morse. Some of its letters contain internal spaces (C is two dots, a space, then a dot) and it uses dashes of different lengths. In 1848 Friedrich Clemens Gerke simplified it for German telegraph lines, and his version, with some changes, was adopted in Paris in 1865 as the international standard. That International Morse code is the one used on radio today and the one every MorseBeep tool uses. American Morse is a different code; a message in one cannot be read with the other.
A short history
- 1830s: Samuel Morse and Alfred Vail develop the electric telegraph and its code in the United States.
- 24 May 1844: Morse sends "What hath God wrought" over the new line from Washington to Baltimore.
- 1848: Friedrich Gerke's simplified code is used on German telegraph lines.
- 1865: The International Telegraph Conference in Paris adopts it as International Morse code.
- 1906: The Berlin Radiotelegraph Convention adopts SOS as the distress signal. It comes into force in 1908.
- 1999: The Global Maritime Distress and Safety System replaces Morse code for distress calls at sea.
- 2007: The United States stops requiring a Morse code test for amateur radio licences.
Morse code is still used every day by radio amateurs, and radio navigation beacons for aircraft still identify themselves in Morse. It remains a way to send a message with nothing more than a light, a sound or a tap.
How MorseBeep makes the sound
The tools work out the start and length of every dot, dash and gap from the rules above, then hand the whole message to your browser's audio system (the Web Audio API) at once. Because the sound is scheduled on the audio clock, the timing stays exact even if your phone is busy. The screen flash, the lamp, the highlighted letters and the vibration follow the same clock. Downloaded WAV files are built from the same timings, sample by sample.
Sources
- International Telecommunication Union, Recommendation ITU-R M.1677-1: International Morse code (10/2009).
- Jon Bloom, KE3Z, A Standard for Morse Timing Using the Farnsworth Technique, QEX, April 1990, ARRL.
Found a mistake? Tell us and it will be corrected.