Morse code generator

Dots and dashes – an art that will soon be forgotten. Take the opportunity to listen to the sounds of yore. No need to download any app; if you have a recent browser you’re good to go!

Get started

TLDR; First of all, click the button labelled Test You should hear a question mark ··——·· being sent.

You heard it? Ok, then type or copy-paste some text into the box above and click Run.


For an exquisite listening pleasure, you may want to adjust a few settings. Click the Test button after every change for a quick sound check.

Learning Morse?

So, how good are your Morse skills..? This webpage lets you create random texts (in a few different varieties) and ”send” them to you. Check out the options under Randomizer, then hit Train!

It is tempting to set a very low WPM (words per minute) speed and try to count dots and dashes. A much better method is to use the Farnsworth method; sending the letters at a higher rate of speed, but increasing the spacing between letters and between words. This lets you recognize the letters as sound patterns, instead of seeing them as collections of dots and dashes.

For a starter, set Character speed to 15 or 20 WPM, and the Effective speed to 5 or 7. Effective speed cannot be greater than Character speed.

As you get more fluent in Morse, let the character speed remain on its value, but increase the effective speed.

Mark the letters you miss (e.g. with an underline) so you can check afterwards what you need to drill more on.

To help you stay focused while training, the generated text is normally blurred out until transmission stops. Just disable it if you want to cheat a little.

The creation of this page

I wanted a project to get my hands dirty with Web Audio, and a Morse generator seemed a simple enough start. It was a bit more complicated than i thought and took longer than expected – the better part of a weekend, actually. I was tempted to call it the Remorse generator for a while… After the weekend I managed to receive random letters at 7 words per minute, so perhaps it was time well spent after all.

Getting the timings right wasn’t easy, but it came out fine in the end. Still, the performance relies on your device. On an old surf tablet with Android 7 I tested, the timing was jittery.

Applied settings

Dit duration?ms
Dah duration?ms
Letter pause?ms
Word pause?ms
Always 1 ”dit” pause between elements in a character.

Supported browsers

Runs fine in latest (as of November 2021) versions of Edge and Firefox under Windows 10. Seems to work in Android 11 too. Will probably not run on Safari or any iDevice, but let me know if it does.


If you love it, tell me. If you hate it, tell your friends. No, but really, if there is something really wrong let me know, perhaps it is easy to fix.