Skip to content
kitto works
All tools

Morse Code Converter — Text ⇔ Morse Code with Audio Playback

Convert between text and International Morse code in both directions, and play the result as beeps. Everything runs in your browser — nothing is ever sent anywhere.

Conversion direction

Your text and Morse code are processed entirely in your browser and are never sent anywhere. Audio playback also happens locally using the browser's built-in Web Audio API.

Result

Play audio

How to use

  1. Choose a direction: Text → Morse code, or Morse code → Text.
  2. Type into the input box — plain text, or Morse code using . and -, with / between words. The "Result" box updates instantly.
  3. Press "Play" to hear the Morse code as beeps, or "Copy result" to use the converted text elsewhere.

How it works

Supported characters

The converter supports the Latin alphabet (A–Z, case-insensitive), digits (0–9), and common punctuation (. , ? ' ! / ( ) & : ; = + - _ " $ @), based on the International Morse code table (equivalent to ITU-R M.1677-1). Characters not in this table (emoji, control characters, unsupported symbols, etc.) are left out of the result and listed separately as "characters that could not be converted".

Text → Morse code rules

Each character is converted to its Morse code, and characters are separated by a single space. Word boundaries (spaces in the original text) are represented with a forward slash " / ". For example, "SOS" becomes "... --- ...", and "HELLO WORLD" becomes ".... . .-.. .-.. --- / .-- --- .-. .-.. -..".

Morse code → Text rules

The input is split into words on "/", then each word is split on whitespace into individual Morse tokens (sequences of . and -), which are converted back to characters. Any token containing characters other than dot, dash, space, or slash, or any dot-dash sequence not in the table, is skipped and listed as "characters that could not be converted" while the rest of the conversion continues.

Audio playback (Web Audio API)

A dot (.) is played as a 1-unit-long beep, and a dash (-) as a 3-unit-long beep. Gaps within a character are 1 unit, gaps between characters are 3 units, and gaps between words are 7 units. The length of one unit, in milliseconds, is calculated as "1200 ÷ speed (WPM)", based on the widely used PARIS-standard WPM-to-timing formula for Morse code. Playback runs entirely through the browser's built-in Web Audio API (OscillatorNode) — no data is sent externally.

FAQ

Is my text or Morse code sent anywhere?

No. All processing, including audio playback, happens entirely inside your browser. Nothing is transmitted to a server.

Can I convert Japanese text (kana/kanji) to Morse code?

No. This tool covers International Morse code (Latin letters, digits, and punctuation), not the separate Wabun code used for Japanese kana. Kana and kanji characters will appear in the "characters that could not be converted" list.

How do I represent word breaks in Morse code?

Use a forward slash "/" between words, and a single space between letters. For example, "... --- ... / .... . .-.. .-.. ---" represents "SOS HELLO".

Can I change the playback speed or tone?

Yes. Use "Speed (WPM)" to adjust how fast the Morse code is played, and "Tone (Hz)" to change the pitch of the beep.

Does it distinguish between uppercase and lowercase?

No. Morse code itself has no concept of case, so lowercase input converts to the same code as uppercase, and converting Morse code back to text always produces uppercase letters.