Morse Code Translator with Audio
This free Morse code translator converts plain text into International Morse code and decodes Morse back into text, instantly and entirely in your browser. It covers the full International Morse Code standard — every letter A to Z, the digits 0 to 9, and the common punctuation and symbols (. , ? ' ! / ( ) & : ; = + - _ " $ @) — so you can encode real sentences, not just simple words.
Beyond translation, it can play your Morse code as sound using the Web Audio API, with an adjustable speed in words per minute (WPM) and an adjustable tone frequency, plus an optional light that flashes in time with the beeps. It is handy for learning Morse, sending a signal, decoding a message someone sent you, or checking a callsign, and everything runs locally so nothing you type is ever uploaded.
How to use Morse Code Translator
- Choose a direction, or leave it on Auto-detect — the tool treats input made only of dots, dashes, spaces, and slashes as Morse to decode, and anything else as text to encode.
- Type or paste your text (or Morse code) into the input box; the translation appears in the output box as you type.
- Press Play to hear the Morse code, and adjust Speed (WPM) and Tone frequency to taste; turn on the light flash to see it as well as hear it.
- Use Copy or Download to save the result, or press Swap to send the output back into the input and reverse the direction.
Encoding, decoding, and auto-detect
Text to Morse converts each character to its Morse pattern, separates letters within a word by a space, and separates words by a slash. Morse to text reverses this. In Auto-detect mode the tool inspects your input and picks the direction for you, but you can always force Text to Morse or Morse to Text with the Direction control. Characters that have no Morse equivalent (when encoding) and sequences that are not valid Morse (when decoding) are shown as a hash (#) so nothing is silently dropped.
HELLO WORLD -> .... . .-.. .-.. --- / .-- --- .-. .-.. -..
Separators and character options
The dot and dash characters are configurable (defaults are a period and a hyphen) and apply in both directions, so you can encode with any symbols you like and decode text that uses them. The letter separator (a space by default) and word separator (a slash by default) control how the encoded Morse is formatted. Decoding is deliberately forgiving: it accepts a single space between letters, and treats either a slash or a gap of two or more spaces as a word break, so messy or hand-typed Morse still decodes cleanly.
Audio playback and timing
Playback uses a sine-wave oscillator at your chosen frequency (around 600 Hz by default, a comfortable CW listening tone). Timing follows the PARIS standard used for words-per-minute speed: a dot is one unit, a dash three units, the gap between elements one unit, the gap between letters three units, and the gap between words seven units. At a given WPM the dot length in milliseconds is 1200 divided by the WPM, so raising the WPM shortens every tone and gap proportionally. The optional light flash follows exactly the same on/off timing as the audio.
The International Morse Code standard
International Morse Code represents each character as a sequence of short signals (dots, or dits) and long signals (dashes, or dahs). It is defined by ITU-R Recommendation M.1677-1 and includes the 26 Latin letters, the ten digits, and a small set of punctuation and procedural symbols. Use the built-in Morse code chart on the page to look up any character, or as a study reference while you learn.
Related terminology
- Dit and dah (dot and dash)
- The two building blocks of Morse code: a dit is the short signal (one time unit) and a dah is the long signal (three time units).
- Words per minute (WPM)
- A measure of Morse sending speed. Under the PARIS standard the word PARIS takes 50 time units, so one dot lasts 1200 divided by the WPM in milliseconds.
- PARIS timing
- The convention that fixes Morse speed using the word PARIS as a reference, giving the standard 1:3 dot-to-dash ratio and 1:3:7 element, letter, and word gaps.
- Prosign
- A procedural signal made of run-together letters, such as the international distress call SOS, sent without the normal gap between the letters.
- International Morse Code
- The globally used Morse standard (ITU-R M.1677-1) covering the Latin letters, digits, and common punctuation — as opposed to the older American Morse.
Frequently asked questions
- How do I translate text into Morse code?
- Type your text into the input box with the direction on Auto-detect or Text to Morse. The Morse code appears immediately, with letters separated by spaces and words by a slash, and you can press Play to hear it.
- How do I decode Morse code back into text?
- Paste the Morse into the input box using dots and dashes, with spaces between letters and a slash (or a larger gap) between words. The decoded text appears instantly; unrecognized sequences are shown as a hash (#). Decoding tolerates extra spaces.
- Can I hear the Morse code and change its speed?
- Yes. Press Play to hear it through the Web Audio API, and use the Speed (WPM) and Tone frequency sliders to change how fast and how high the beeps are. You can also flash a light in time with the sound, and press Stop at any time.
- Which characters and punctuation are supported?
- All 26 letters, the digits 0 to 9, and the International Morse punctuation set: . , ? ' ! / ( ) & : ; = + - _ " $ @. Morse has no case, so uppercase and lowercase letters encode the same way.
- Is my text sent to a server?
- No. Translation, audio, and the light flash all run entirely in your browser with JavaScript and the Web Audio API, so your messages never leave your device.