MorseLabBaseMorseLabBase
Practice tool only. Audio stays in your browser — not a license exam or emergency certification.

Morse code translator for text and audio

Type plain text (or paste dots and dashes) and get International Morse the other way — live as you type. Play CW tones, tweak WPM and pitch, copy either side. Encode and decode share this console.

Text
Morse
ReadyChinese uses standard telegraph code (汉字 → 4 digits → Morse). ~7k characters · same engine as Play / Flash. Latin letters stay International Morse.Extended translator page
Advertisement320 × 100

When to use

Checking a message before you send it as sound or light; decoding a puzzle string; hearing how a callsign or short phrase sounds at a chosen WPM; confirming a paste of dots and dashes before you share it.

Better elsewhere

Structured learning → trainer or listen. Photo OCR is unsupported. Life-safety radio procedure courses live elsewhere.

Assumptions

International Morse for Latin letters, digits, and common punctuation. Chinese characters use standard Chinese Telegraph Code (汉字 → 4-digit CTC → Morse digits), same scheme as traditional Chinese CW traffic — not pinyin. Word gap shown as `/` by default; letter gap as space. Pretty Unicode dits/dahs are normalized. Audio uses Web Audio after your first click (browsers block autoplay).

Examples

Input

Text: SOS

Result

Morse: ... --- ...

Continuous prosign-style SOS practice also lives on the SOS page.

Input

Text: 中国

Result

CTC 0022 0948 → eight digit Morse groups

中 = 0022 · 国 = 0948. Play works the same as Latin.

Input

Morse: .... . .-.. .-.. --- / .-- --- .-. .-.. -..

Result

Text: HELLO WORLD

Slash separates words; spaces separate letters.

Input

Play at 20 WPM · 600 Hz

Result

Hear the sequence; Stop cuts tones mid-schedule

How it works

  1. Encode maps each character to a dit/dah pattern; unknown characters are skipped with a status note.
  2. Decode splits on spaces and / (or |); unknown tokens become ? with a clear skip list.
  3. Playback builds a PARIS-based timing table, then schedules Web Audio oscillators after you click Play.
  4. Flash / vibrate (optional) follow the same on/off schedule; Stop closes audio immediately.

dit ms ≈ 1200 / WPM · dah = 3×dit · letter gap ≈ 3 dit · word gap = / (7 dit timing)

Gotchas

  • American Railroad Morse is not this chart — if an old book disagrees, you’re probably on the wrong alphabet.
  • Pretty Unicode dots `·—` and ASCII `.-` both work; mixed junk spaces still break decode.
  • Autoplay: hit Play once to unlock audio; silent failure is usually a browser gesture rule, not a broken tone.
  • Huge pastes are fine locally, but keep Challenge share URLs short if you plan to share Morse elsewhere.

Compare

Need louder focus on tone shaping: audio translator. Learning path: trainer. Copy drills: listening practice. Sending: keyer. Visual only: flashlight. Chart: alphabet.

What you can do on this page

Encode plain text into International Morse, decode dots and dashes back to letters, play the sequence as CW-style tones, adjust WPM and pitch, copy either pane, and optionally flash or vibrate the pattern. Swap panes when you want Morse on the left. Sample and Clear reset the console without leaving the page.

Encode and decode share this console — one bidirectional tool for “decoder,” “converter,” and “text to Morse” jobs.

Input tips

  • Prefer ASCII .- for long pastes; pretty ·— also works after normalization.
  • Word breaks: use / (or multiple spaces). Letter breaks: single spaces.
  • Unknown characters are skipped with a status note — check the status line under the console.
  • Browsers block autoplay: click Play once after the page loads to start Web Audio.

Where to go next

Tone-first controls: audio translator. Learning: trainer and listening practice. Light: flashlight. Chart: alphabet. SOS rhythm: SOS.

Common questions

Short answers from real friction points.

Yes — decode and encode share this page. One console, both directions.

Related tools

Practice tool only. See Methodology and Terms.