belun.app Blog

Morse Code Translator — Text to Morse with Audio Playback

Type text to get dots and dashes, or paste Morse to read it back as plain text. Press Play to hear the result as real audio at anywhere from 5 to 40 words per minute — the same PARIS timing radio operators use. Supports both the Latin and Russian Morse alphabets, plus digits and punctuation.

How it works

  1. 1
    Choose a direction Pick Text to Morse to encode, or Morse to text to decode. The Swap button flips the direction and moves your result into the input box.
  2. 2
    Type or paste Enter text to encode, or paste Morse using dots and dashes. Separate letters with a space and words with a forward slash — the decoder also accepts three or more spaces as a word break.
  3. 3
    Listen and copy Press Play to hear it as tones, drag the speed slider to set words per minute, then hit Copy to take the result with you.

Your data stays private

All processing happens entirely in your browser. No files, text, or data are ever sent to our servers. You can disconnect from the internet and this tool will still work.

Frequently asked questions

How do I write Morse code so the decoder understands it?
Use a period for a dot and a hyphen for a dash. Put one space between letters and a forward slash between words, like ".... .. / - .... . .-. .". The decoder is forgiving: it also accepts en dashes, em dashes, middots, and three-or-more spaces as a word gap.
What speed is the audio playback?
The slider runs from 5 to 40 words per minute using PARIS timing, the standard reference word. A dash lasts three times a dot, gaps between letters are three dots long, and gaps between words are seven. Amateur radio operators typically start around 5–10 WPM; 20 WPM is a common licensing benchmark.
Does it support Russian Morse code?
Yes. Switch the alphabet selector to Cyrillic to encode and decode the Russian Morse alphabet (А–Я). Because several Russian codes reuse Latin sequences — Х is "....", the same as Latin H — you have to tell the decoder which alphabet to assume.
Why does my text show skipped characters?
Morse has no code for characters like %, #, or emoji, so they are dropped and listed under the output. Letters, digits, and common punctuation (period, comma, question mark, slash, colon, and others) all translate fine.
Is my text sent to a server?
No. The translation table and the audio both run inside your browser tab using JavaScript and the Web Audio API. Nothing is uploaded, logged, or stored, and the tool keeps working with the network switched off.

From the blog

Morse Code in 2026: How It Works and How to Read It How Morse timing actually works, why SOS was picked, and how to translate and hear dots and dashes in your browser. Read the post →

Related tools