DEV Community

Austin
Austin

Posted on

I Built a Free, Open-Source Morse Code Toolkit That Runs Entirely in Your Browser

There's a weird problem with Morse code tools on the internet.
Most of them are slow, plastered with ads, broken on mobile, or quietly collecting your data in the background. Some require you to sign up just to hear a beep. A few haven't been updated since 2009.
So I built something better: MorseDecoder β€” a free, open-source Morse code toolkit that runs 100% in your browser, no account required, no data collected, no nonsense.

What Is MorseDecoder?
MorseDecoder is a comprehensive Morse code platform built for everyone β€” curious beginners, ham radio operators, accessibility users, and people who just want to encode a message for a tattoo or a piece of jewellery.
Every single feature is client-side. We use the Web Audio API and standard web technologies to make everything work offline-capable and instantly fast. Nothing is sent to a server. Nothing is stored.

The Tools
πŸ”€ Translator
Real-time, bidirectional text ↔ Morse conversion with audio playback. You can also download your translation as a .wav file β€” useful for ham radio practice or accessibility workflows.
πŸ“‹ Reference Chart
A complete A–Z, 0–9, and punctuation Morse reference. Click any character to hear it played back instantly via the Web Audio API. Great for beginners building pattern recognition.
πŸƒ Learn Mode
Spaced repetition flashcards for memorising the Morse alphabet. The algorithm surfaces characters you struggle with more frequently β€” the same technique language learning apps use, applied to dots and dashes.
⌨️ Tap-Key Trainer
Practice sending Morse code with your spacebar, exactly like a real telegraph key. This is the feature I'm most proud of β€” it bridges the gap between reading Morse and actually sending it, which are completely different skills.
πŸ“… Daily Challenge
A new Morse word every day. You hear it played, you guess it, you share your streak. Think Wordle, but for radio operators.
πŸ–ΌοΈ Card Generator
Turn any message into a Morse code image you can download and share β€” for custom gifts, tattoos, laser engravings, or jewellery. The designs are clean enough to actually use.

Why We Built It
A few reasons drove this project:
Privacy. Morse code is used heavily in the accessibility and assistive technology community. People with motor disabilities use Morse input as an alternative to keyboards. Those users especially shouldn't have their data harvested just to use a basic tool.
Mobile-first. The tap-key trainer works on mobile via touch. The whole site is designed to be usable on a phone β€” because that's where most people will encounter it.
No ads. (Almost.) We're committed to keeping the tool ad-light. The learning experience shouldn't be interrupted.
Open source. The entire codebase is open. If you want to self-host it, extend it, or fork it for your own project, go ahead.

Tech Stack

Vanilla JS + Web Audio API β€” for all audio generation and playback, no external libraries
No framework β€” keeps load times near-instant
No backend β€” no server, no database, no auth
PWA-ready β€” works offline once loaded

One interesting challenge was the tap-key trainer timing. Morse code timing is notoriously strict: a dot is 1 unit, a dash is 3 units, the gap between characters is 3 units, the gap between words is 7. Getting the debounce and timing detection right so that a human tapping a spacebar produces clean, parseable Morse took a lot of iteration.

Who Is This For?

Ham radio operators preparing for licensing exams (many still test Morse proficiency)
Accessibility users who use Morse input as an AAC (augmentative and alternative communication) method
Developers who want a client-side audio/encoder reference implementation
Curious people who want to learn something genuinely old and genuinely cool

What's Next

Multiplayer tap-key races (send the same phrase, compare accuracy and speed)
Morse-to-speech for accessibility workflows
Embeddable widget for other sites
API for developers who want programmatic text ↔ Morse conversion

Try It
πŸ‘‰ MorseDot
The daily challenge resets every midnight. The tap-key trainer works best with headphones. The card generator is surprisingly addictive.
If you're a ham radio operator, an accessibility advocate, or just someone who thinks the Victorian internet deserves a modern revival β€” I'd love to hear what you think.

Built with the Web Audio API and a lot of respect for Samuel Morse. Entirely open source. Feedback welcome in the comments.

Top comments (0)