A Morse code generator turns text into a signal you can actually send. A
translator gives you the dots and dashes; a generator gives them a length. That
is the difference. ...---... stops being nine characters on a screen and
becomes 23 units of sound, light or buzz playing out in real time.
Adding time needs exactly one number from you: speed, in words per minute. From it comes the length of a dot, and every other duration is fixed by the code. Dot length in seconds = 1.2 ÷ WPM. A dash is three dots, the gap inside a character is one, between characters three, between words seven.
Then you choose a channel: a tone, a full-screen flash, the torch, or vibration. Each one has a speed above which it stops being readable, and picking a speed the hardware cannot hold is the easiest way to turn a generated message into nonsense.
Want to hear what you type? MorseLab generates tone, screen flash, torch and vibration from any text at a speed you set, free and offline.
What a generator does that a translator does not
A translator finishes at stage one. A generator runs all three.
| Stage | Takes | Produces | Needs |
|---|---|---|---|
| 1. Look up | Text | A string of dots and dashes | The published code table |
| 2. Time | The string | A list of on and off durations | A speed |
| 3. Emit | The durations | Sound, light or vibration | Hardware that can switch that fast |
Stage one is fixed and public. S is always ..., U is always ..-, and
letters are written with one space between them, words with a slash: ... ..- -.
is SUN. One correct answer per character, which is why every translator agrees;
how text becomes dots and dashes covers it
in full.
Stages two and three are where generators differ. Stage two is arithmetic you can check. Stage three is physics, and no setting escapes it.
Copy these for the worked examples below:
SUN ... ..- -.
SEND HELP NOW ... . -. -.. / .... . .-.. .--. / -. --- .--
The timeline behind one word
Here is stage two done by hand. Take SUN at 12 words per minute, where a dot is 1.2 ÷ 12 = 0.1 seconds, or 100 ms. Every duration in the message is a whole number of those.
| Step | Element | State | Units | At 12 WPM |
|---|---|---|---|---|
| 1 | S dot | on | 1 | 100 ms |
| 2 | gap inside S | off | 1 | 100 ms |
| 3 | S dot | on | 1 | 100 ms |
| 4 | gap inside S | off | 1 | 100 ms |
| 5 | S dot | on | 1 | 100 ms |
| 6 | gap between letters | off | 3 | 300 ms |
| 7 | U dot | on | 1 | 100 ms |
| 8 | gap inside U | off | 1 | 100 ms |
| 9 | U dot | on | 1 | 100 ms |
| 10 | gap inside U | off | 1 | 100 ms |
| 11 | U dash | on | 3 | 300 ms |
| 12 | gap between letters | off | 3 | 300 ms |
| 13 | N dash | on | 3 | 300 ms |
| 14 | gap inside N | off | 1 | 100 ms |
| 15 | N dot | on | 1 | 100 ms |
| Total | 23 | 2,300 ms |
Fifteen instructions for three letters, and seven of them are silence. That is the shape of every Morse message, and the silence is load-bearing: cut the gaps to save time and the receiver gets one long run of dots and dashes with no letter boundaries in it. Nothing follows the final N, so there is no trailing gap to add.
Speed, and what each speed costs
One formula runs the whole of stage two:
Dot length in seconds = 1.2 ÷ WPM.
It comes from the reference word PARIS, which is exactly 50 units long counting the word gap after it. Multiply a message's unit count by the dot length and you have its duration before you send anything.
| WPM | Dot | SUN, 23 units | SEND HELP NOW, 109 units | Channels that can hold it |
|---|---|---|---|---|
| 1.2 | 1,000 ms | 23.0 s | 109.0 s | Everything, including your hand |
| 5 | 240 ms | 5.5 s | 26.2 s | Tone, flash, torch, vibration |
| 10 | 120 ms | 2.8 s | 13.1 s | Tone, flash, torch at its limit |
| 12 | 100 ms | 2.3 s | 10.9 s | Tone, screen flash |
| 20 | 60 ms | 1.4 s | 6.5 s | Tone |
| 25 | 48 ms | 1.1 s | 5.2 s | Tone |
Two anchors are worth keeping. A one-second dot is 1.2 words per minute, which is slow and is the right answer for signalling to a stranger. And 20 words per minute — the speed most learning material aims at — is a 60 ms dot, faster than any lamp or motor can follow. The full derivation is in Morse code timing and WPM.
Choosing the channel
Stage three is where the message meets a physical thing that has to switch on and off. Some switch instantly, some do not.
| Channel | What it crosses | Practical ceiling | What fails first |
|---|---|---|---|
| Tone from a speaker | A room, or another phone's microphone | Your ear, not the speaker | Nothing in the hardware — you stop being able to copy |
| Screen flash | Close range indoors, a wide soft source | About 10 WPM | The panel takes time to go fully bright and fully dark |
| Torch LED | Outdoors at night, over long distances | About 10 WPM | LED rise and fall smears short dots into dashes |
| Vibration motor | A pocket, a loud room, silence, low vision | About 5 to 10 WPM | The motor has to spin up and spin down |
| Your hand, tapping | A wall, a table, someone's arm | Whatever you can hold steady | A knock has no length, so a dash needs a substitute |
The faster a channel switches, the less far it reaches. A tone is limited only by the person listening; a torch is slow and crosses a valley. Choose the channel for the gap you have to cross, then set a speed it can hold, not the other way round.
Where to aim a light and how to be read as deliberate is in how to send Morse code with a phone flashlight; why a knock needs a workaround is in tapping, knocking and vibration.
What a tone generator is deciding
A Morse tone is one steady note switched on and off, which means the pitch carries no information: a high beep and a low beep say the same thing. Pitch is chosen for comfort, and something around 600 to 700 Hz sits in the middle of most people's hearing without becoming tiring over an hour.
Three settings matter more than the pitch:
- Keep the note identical between sessions. Changing pitch or volume means relearning the sound. Pick one and leave it.
- Keep the volume flat. A tone that swells and fades gives the ear a second variable to sort out, and it can mislead a decoder measuring how long the sound lasts.
- Do not switch it on brutally. A note that jumps from silence to full volume clicks at each edge. A very short ramp at the start and end of every element removes that without changing the timing you hear.
If you are feeding another device's decoder, generate a steady 12 to 20 words per minute and hold the phone still: what a decoder measures explains where its fences go.
Price any message before you send it
A generator adds up unit costs; you can do the same on paper. Every character costs the length of its elements plus one unit of silence between them, with the gaps between characters and words on top.
What each letter costs
| Letter | Code | Units | Letter | Code | Units |
|---|---|---|---|---|---|
| A | .- | 5 | N | -. | 5 |
| B | -... | 9 | O | --- | 11 |
| C | -.-. | 11 | P | .--. | 11 |
| D | -.. | 7 | Q | --.- | 13 |
| E | . | 1 | R | .-. | 7 |
| F | ..-. | 9 | S | ... | 5 |
| G | --. | 9 | T | - | 3 |
| H | .... | 7 | U | ..- | 7 |
| I | .. | 3 | V | ...- | 9 |
| J | .--- | 13 | W | .-- | 9 |
| K | -.- | 9 | X | -..- | 11 |
| L | .-.. | 9 | Y | -.-- | 13 |
| M | -- | 7 | Z | --.. | 11 |
E costs one unit and J costs thirteen. At 20 words per minute that is 60 ms against 780 ms, from the same alphabet. The shortest patterns sit on the commonest letters (E is one dot, T one dash), which keeps ordinary English quick to send.
Digits are uniformly expensive, because each one is five elements: 5 is .....
at 9 units, 0 is ----- at 19. The full set with costs is in
Morse code numbers and punctuation.
Adding it up
Take SEND HELP NOW, a message worth generating slowly.
... . -. -.. / .... . .-.. .--. / -. --- .--
| Part | Units |
|---|---|
| S E N D, 5 + 1 + 5 + 7 | 18 |
| three gaps inside SEND, 3 each | 9 |
| gap between words | 7 |
| H E L P, 7 + 1 + 9 + 11 | 28 |
| three gaps inside HELP, 3 each | 9 |
| gap between words | 7 |
| N O W, 5 + 11 + 9 | 25 |
| two gaps inside NOW, 3 each | 6 |
| Total | 109 |
Multiply by the dot length for the duration on any channel. At a one-second dot that is 109 seconds: nearly two minutes to say three words by torch, which is why emergency messages get written short. At 12 words per minute the same message takes 10.9 seconds.
Four presets that work
The right settings depend on the job. Decide the job first.
| Job | Channel | Speed | Spacing |
|---|---|---|---|
| Signalling to a person outdoors | Torch, or the whole screen | 1.2 WPM, a dot of one second | Standard, and send the message on a loop |
| Feeding another device's decoder | Tone | 12 to 20 WPM | Standard, no stretch |
| Learning to copy by ear | Tone | Characters at 18 to 20 WPM | Stretched gaps, 5 to 10 WPM overall |
| Reading in a pocket or a noisy room | Vibration | About 5 WPM | Standard, keep messages short |
The third row is Farnsworth spacing: full-speed characters with extra silence between them. It exists because a dot at 5 words per minute sounds nothing like a dot at 20, so slowing everything down teaches a rhythm you later have to unlearn. Farnsworth is about spacing only, and Koch (start with two characters at full target speed, add another once you copy at 90% accuracy) is about which characters and in what order. They change different variables, so they combine rather than compete. Koch and Farnsworth takes that apart properly.
I built MorseLab because the generator side is where free tools usually stop: they print the dots and dashes and leave you to imagine the sound. It plays any text back as a tone, a full-screen flash, the torch or vibration at a speed you set, has an SOS beacon that repeats the prosign unbroken, and goes the other way too: decoding live Morse audio through the microphone and reading printed text through the camera. It runs offline, with no account, in 16 languages.
Generating a beacon that repeats
A beacon is a generator running on a loop, and the message that matters is SOS.
...---...
It is a prosign, sent as one unbroken run of three dots, three dashes and three
dots with no letter gaps inside it: 23 units, the same as SUN. Spaced out as
... --- ... it becomes the three letters S, O and S, 27 units and a different
transmission. It does not stand for "Save Our Souls" either; that was fitted to
it afterwards, and the pattern was chosen because it is unmistakable and easy to
send. SOS in Morse code has the rest.
Two things about generating it on a loop:
Leave a real gap between repeats. The pause has to be obviously longer than anything inside the signal, or the end of one SOS runs into the start of the next and the pattern disappears. At a one-second dot, five seconds of silence between repeats is plenty. One SOS is a coincidence; the same 23 seconds coming back every half minute is a person.
Budget the battery. A torch beacon has the light on for 15 of every 23 units, which drains a phone you may also need for something else. Send in bursts with long rests rather than continuously, unless somebody is actually looking.
Generating practice text instead of a message
The other thing people mean by a generator is one that invents the text: random character groups to copy, rather than a message you already know.
Text you wrote yourself teaches you little, because you know what is coming. Random groups of five characters, drawn only from the letters you have already learned, force real copying. Add another character once you are getting the current set right nearly every time, and leave the digits until late. Morse code practice methods sets out how to run a session, and reading Morse by sound covers why you should never count dots.
Common mistakes
Setting a speed the channel cannot hold. Twenty words per minute on a torch means a 60 ms flash, and the LED never gets fully dark between elements. Nobody at the other end will read it. Light and vibration live below 10 words per minute.
Trimming the gaps. Silence is part of the message. A generator that drops the 7-unit word gap has run the words together, and no receiver can put the spaces back.
Sending SOS as three letters. ...---... is unbroken. Adding the letter
gaps makes it something else.
Expecting a decoder to read your hand sending. Software measures durations; a person hears rhythm and forgives a wobble. Generate the tone if you want it read back reliably.
Assuming the generated string will survive copy and paste. Write the dot as a full stop and the dash as a hyphen from your keyboard. Typographic bullets and en dashes look identical on the page and decode nowhere.
Thinking a generator teaches you the code. It converts and plays. Reading Morse by ear takes weeks of daily listening. You can memorise the chart in an afternoon, and that is a different skill.
Questions people ask
What is a Morse code generator?
A tool that converts text into Morse and plays it as a signal (a tone, a flashing light or a vibration) rather than only printing dots and dashes. It needs one setting a plain translator does not: the speed, which fixes the length of a dot.
How do I turn text into Morse code sound?
Type the text, set a speed in words per minute, and pick tone as the output. The tool looks up each character, converts every element into a duration using 1.2 ÷ WPM, and switches a steady note on and off to that pattern.
What speed should I set?
Depends on the job. 1.2 words per minute — a one-second dot — for signalling to a stranger with a light. 5 words per minute for vibration. 12 to 20 for a tone being read by software. For learning, keep characters at 18 to 20 and stretch the gaps instead.
What tone should Morse code be played at?
Anything comfortable, since the pitch carries no meaning. Around 600 to 700 Hz suits most ears for a long session. What matters more is keeping the same pitch and volume every time you practise.
Can my phone generate Morse code with the flashlight?
Yes, and it is the most useful output at a distance. Keep it slow: an LED takes time to reach full brightness and to go dark, so above roughly 10 words per minute dots and dashes stop being distinguishable.
Can a generator send a message another app can decode?
Yes. Play a tone from one phone into another phone's microphone, steady, around 12 to 20 words per minute, with little background noise. It is the quickest way to test whether either tool works.
How do I make a repeating SOS signal?
Generate ...---... as one unbroken string, then loop it with a clear pause
between repeats. At a one-second dot each repeat takes 23 seconds. Many apps
have this built in as a beacon.
Does a Morse code generator need the internet?
No. The code table is small and fixed, and the timing is one division. A generator has no reason to go online, so one that insists on a connection is doing something other than generating Morse.
Download it: MorseLab for iPhone and Android. Free, and the link picks the right store for you.
Keep reading
- Morse code translator: how text becomes dots and dashes — stage one in full, with the complete lookup table.
- Morse code timing and WPM — where 1.2 ÷ WPM comes from, and the 1:3:7 ratio.
- How to send Morse code with a phone flashlight — generating light instead of sound.
- Sending Morse code by tapping, knocking and vibration — the channels with no speaker.
- Morse code decoder: turning a beep back into words — what happens to a generated tone at the other end.



