A free, browser-based Morse code translator that converts text to Morse code and back. Features visual dot-and-dash display, Web Audio API playback with adjustable WPM speed, character breakdown, and one-click copy. No server, no login, 100% free.

Morse Code Translator is a free, browser-based tool that converts any text to International Morse code and decodes Morse code back to readable text. Type, hear, and copy — all in your browser, with no server calls, no signup, and no install required.
Morse code is one of those things developers, radio hobbyists, educators, and curious people need to convert occasionally. The online tools that come up in search are either built with Flash-era JavaScript, require email registration, or play audio through a server (meaning the tool breaks when the server goes down or the API changes its pricing).
There was no clean, modern, fully client-side Morse code translator that also let you hear the output.
Switch between Text → Morse (encode) and Morse → Text (decode) using the tab selector at the top of the tool.
In encode mode, type or paste any text. In decode mode, paste your Morse code — separate letters with spaces, words with a forward slash (/) or three or more spaces.
The translated output appears instantly below the input. The character breakdown panel shows each letter and its Morse equivalent side by side, making it easy to learn the alphabet as you go.
Click Play Audio to hear the Morse code played back through the Web Audio API at your selected speed.
Use the WPM (Words Per Minute) slider to control playback speed from 5 WPM (beginner) to 30 WPM (experienced amateur radio operator). Speed is calculated using the standard "PARIS" benchmark word.
Click Copy to send the translated result to your clipboard instantly.
The translation engine is implemented as a pure TypeScript lookup map — no external library, no server call:
const MORSE_MAP: Record<string, string> = {
A: ".-", B: "-...", C: "-.-.", D: "-..", E: ".",
F: "..-.", G: "--.", H: "....", I: "..", J: ".---",
// ... all 26 letters, 10 digits, and punctuation
};Encoding splits the input string into characters, maps each to its Morse equivalent, and joins with spaces (words separated by /). Decoding splits on / or multi-space word boundaries, maps each code back to the character, and reassembles the text.
Audio is synthesised entirely in the browser using the Web Audio API — no audio files, no external library:
const osc = ctx.createOscillator();
const gain = ctx.createGain();
osc.frequency.value = 700; // Hz — standard Morse CW tone
osc.type = "sine";
// Fade in/out to avoid clicks
gain.gain.linearRampToValueAtTime(0.4, start + 0.005);
gain.gain.linearRampToValueAtTime(0, start + duration);Dot and dash durations are derived from the selected WPM: dotDuration = 1.2 / wpm seconds. A dash is three dot-lengths, the inter-element gap is one dot-length, the inter-character gap is three dot-lengths, and the inter-word gap is seven dot-lengths.
Google Analytics 4 event tracking is integrated via ToolEvents.toolUsed("play-audio") and ToolEvents.resultCopied() to measure playback usage and copy actions.
The translator supports:
. , ? ' ! / ( ) & : ; = + - _ " $ @Unsupported characters are shown as ? in the output to indicate the input contains a character with no standard Morse equivalent.
The character breakdown panel — showing every character next to its dot-dash pattern — makes the tool ideal for anyone learning Morse code. Students can type familiar words and see the patterns repeatedly until they become recognisable.
Ham radio operators learning CW (continuous wave) telegraphy use the WPM speed control to practice at increasing speeds. Start at 5 WPM to read code carefully, then progress toward the 15–25 WPM range used in on-air contacts.
Scout groups and educators teaching communication history or emergency signalling can use the tool to demonstrate Morse code in a lesson with no software install required.
Developers building escape room games, ARGs (alternate reality games), or educational apps can use the translator to generate and verify Morse code puzzles quickly.
Morse code is sometimes used as an alternative input method for people with severe motor impairments. The translator can verify that a Morse sequence decodes correctly.
Morse Code Translator delivers the core workflow — enter text, get Morse, hear it played back — in under 5 seconds:
Try it now: morse-code-translator.tools.jagodana.com
The client needed a robust developer tools solution that could scale with their growing user base while maintaining a seamless user experience across all devices.
We built a modern application using Morse Code and Text Tools, focusing on performance, accessibility, and a delightful user experience.
Category
Developer Tools
Technologies
Date
May 2026
More work in Developer Tools