Tools Guides
Media Free No signup

Morse Code Audio Player

Convert text to Morse code and hear it played back with animated symbols.

Loading tool…

About this tool

Type any text and instantly see its Morse code representation as animated dots and dashes. The Web Audio API plays each symbol as a tone while highlighting it on screen, so you can both see and hear the code. Adjust WPM, frequency, and volume, or switch to Practice Mode to test your listening skills.

How to use

  1. 1 Step 1: Type the text you want to encode into the input field.
  2. 2 Step 2: Adjust WPM (speed), tone frequency, and volume to your liking.
  3. 3 Step 3: Click Play (or press Space) to start animated audio playback of the Morse code.
  4. 4 Step 4: Enable Practice Mode to hide the text and test whether you can decode what you hear.

How Morse code turns letters into sound

Morse code represents each letter, digit, and punctuation mark as a short sequence of dots and dashes — for example A is .-, S is ..., and O is ---, which is why the distress signal SOS is the unmistakable ... --- .... This tool converts whatever you type into that pattern, shows it on screen, and — crucially — plays it as real audio tones so you can hear the rhythm, not just read it. Listening is how operators actually learn Morse; the code lives in your ears, not your eyes.

The timing that makes it readable: the PARIS standard

Morse isn't just dots and dashes — the spacing carries as much meaning as the marks. All durations are defined relative to one unit, the length of a single dot. The internationally agreed ratios are:

ElementLength
Dot1 unit
Dash3 units
Gap between symbols in a letter1 unit
Gap between letters3 units
Gap between words7 units

Speed is measured in words per minute (WPM), calibrated against the reference word "PARIS," which happens to be exactly 50 units long. This tool uses the standard formula dot = 1200 / WPM milliseconds. So at the default 15 WPM, one dot lasts 1200 ÷ 15 = 80 ms, a dash lasts 240 ms, the gap between letters is 240 ms, and the gap between words is 560 ms. Drag the WPM slider up and every duration shrinks proportionally, keeping the rhythm correct at any speed.

A worked example: hearing "HELLO"

Type HELLO and the tool builds the sequence .... . .-.. .-.. ---. At 15 WPM it plays four quick dots for H (each 80 ms with 80 ms gaps), pauses 240 ms, sounds a single dot for E, pauses again, then the dot-dash-dot-dot of each L, and finally three long 240 ms dashes for O. As each symbol plays it lights up blue on screen, so you can follow the marks visually while training your ear. You can also set the frequency (200–1000 Hz, default 600 Hz — the classic CW sidetone pitch) and the volume to taste.

Practice mode: train like a real operator

Tick Practice Mode and the on-screen Morse is blurred out. Press play, listen, type what you think you heard into the answer box, and check it. This forces you to decode by sound — the only way to build real receiving skill — rather than reading the dots off the screen. Start slow, get a word right consistently, then nudge the WPM up. Many learners find that the jump from "reading dots" to "hearing characters" is the single biggest hurdle, and a blind listen-and-type drill is the fastest way over it.

Practical tips

  • Press the spacebar to play or pause without reaching for the button — handy during repeated practice runs.
  • Learn whole sounds, not dot-counts. Don't count "dot dot dot" for S; learn its rhythm as a single burst. Counting falls apart above ~10 WPM.
  • Use a higher WPM with longer gaps. Experienced trainers recommend learning characters fast but spacing them generously (Farnsworth-style) so you never start counting. Here you can approximate that by practising at a brisk WPM on short words.
  • Pick a comfortable pitch. Around 600 Hz is standard, but if it strains your ears, lower the frequency a little — clarity matters more than tradition.

Common mistakes

  • Cranking the speed too early. If you're decoding letter by letter in your head, you're going too fast. Drop the WPM until each character feels effortless.
  • Ignoring word spacing. The seven-unit word gap is what separates "I AM" from "IAM." Listen for that long silence.
  • Expecting unsupported characters to sound. Letters, digits, and common punctuation are mapped; anything outside the table is simply skipped rather than beeped.

Privacy and how the sound is made

The audio is synthesised entirely in your browser with the Web Audio API — a sine-wave oscillator generates each tone on the fly, with a tiny 5 ms ramp at the start and end of every beep to avoid clicks. Nothing is recorded, uploaded, or sent anywhere; the text you encode and the audio it produces never leave your device.

Frequently Asked Questions

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}