Convert Morse to ASCII
Decode Morse code to text or encode text to Morse with audio playback. Prosigns, 3-space word breaks. Free, offline, client-side.
- Runs in your browser
- Nothing uploaded
- Free, no sign-up
Decode Morse code to text or encode text back to Morse. Word boundaries detected as /, |, or three or more spaces (the ITU standard). Optional prosign recognition (AR, SK, BT, KN, SOS, etc.). Play any Morse string as audio at 5-40 WPM.
How to Use Convert Morse to ASCII
- Pick a direction - Morse → ASCII (default decode) or ASCII → Morse. The Swap ⇄ button transfers your current output into the input field for round-tripping.
- Paste your Morse code. Use spaces between letters, and either
/,|, or three-or-more spaces between words. The ITU standard is single space between letters and triple space between words; this tool accepts all three conventions interchangeably. - Toggle prosigns if needed. Prosigns are run-together letter pairs like AR (end of message), SK (end of contact), BT (break / new paragraph). When toggled on, the decoder recognizes those patterns and emits
[AR]-style bracketed names instead of treating them as single characters. - Pick how to handle unknown tokens. Mark as
#(default), keep raw inside<angle brackets>, or skip silently. Useful for messages with noise or non-ITU patterns. - Output updates live with a 200 ms debounce. Stats line shows symbol count, word count, prosign count, and unknown count.
- Hear it as audio. Adjust the WPM slider (5-40) and click Play. The audio is generated as a 700 Hz beep with PARIS-standard timing (50 dot lengths per word). Download as a .wav file for use elsewhere.
- Copy or Download text. Copy puts the decoded text on your clipboard. Download saves as .txt - useful for sharing decoded SOTA / amateur radio logs.
Frequently Asked Questions
What’s the difference between letter spacing and word spacing in Morse?
By ITU convention, the gap between elements (dot/dash) of one letter is one dot length. The gap between letters is three dot lengths. The gap between words is seven dot lengths. In text representation, that translates to: one space between letter codes, and three spaces (or / or |) between words. This tool detects all three conventions.
What’s a prosign?
A prosign (procedural signal) is two or more letters sent without an inter-letter gap – so they read as one symbol. Common ones: AR (.-.-.) = end of message, SK (…-.-) = end of contact, BT (-…-) = break / new paragraph, KN (-.–.) = invitation to specific station, SOS (…—…) = international distress. When you toggle prosigns on, the decoder emits them as [AR], [SK], etc. instead of mistaking them for single characters.
Why does .-.-. sometimes decode as + and sometimes as [AR]?
Same Morse pattern, different intent. .-.-. is the standard ITU code for the plus sign (+), but it’s also the AR prosign meaning “end of message”. The tool needs to know which you want – flip the “Recognize prosigns” toggle. Without it, you get +. With it, you get [AR]. Other ambiguities: .-... is both & and AS; -...- is both = and BT.
How is audio playback timed?
Using the PARIS standard: at N words per minute, one dot lasts 1.2 / N seconds. So at 20 WPM, dot = 60 ms, dash = 180 ms, intra-character gap = 60 ms, inter-character gap = 180 ms, word gap = 420 ms. Frequency is 700 Hz (standard radio sidetone) with a small linear ramp at the start/end of each tone to avoid clicks. Output is 8 kHz mono 16-bit WAV.
Can I encode text back to Morse?
Yes – switch direction. ASCII → Morse handles A-Z, 0-9, and 16 punctuation marks per ITU. Case is ignored (Morse is case-insensitive). Word separator in the output is your choice: 3 spaces (standard), /, |, or HTML for use in web pages.
What about non-English letters?
Not in the default 26-letter table. Some Continental Morse extensions support Ä (.-.-), Ö (—.), Ü (..–), and CJK kana via JIS / Wabun code – but they’re not part of ITU International Morse. Tokens that don’t match any pattern get the unknown-token treatment (mark / skip / angle-bracket).
Why does my message decode as SOSHELLO without a word break?
You used a single space between SOS and HELLO. The decoder reads that as inter-letter spacing, not inter-word. Fix: insert / between the words, or use three+ spaces. So ... --- ... / .... . .-.. .-.. --- or ... --- ... .... . .-.. .-.. --- (three spaces) both yield SOS HELLO.
Is the WAV download safe to share?
Yes – it’s a vanilla 16-bit PCM WAV with a standard 44-byte header. Plays in any music app, importable into any audio editor (Audacity, Reaper, GarageBand). Use it for amateur-radio practice, podcasts, Morse-training apps, or accessibility demos.
Is my Morse data uploaded?
No. All decoding, encoding, and audio generation happens in your browser using vanilla JavaScript and the Audio API. Open DevTools → Network and confirm zero requests fire after the page loads – even when you Play or Download.
Does it work offline?
Yes. Total bundle is under 24 KB. Once loaded, disconnect and keep using – useful for field work or amateur-radio operating positions where internet may be unreliable.
Related Tools
ASCII to Morse Code Converter →
Encode ASCII to Morse Code code with Web Audio playback, adjustable WPM, and copy-ready…
ASCII Case Converter →
Transform any text into Uppercase, Lowercase, Title Case, or Sentence Case safely formatting paragraphs…
Convert Arbitrary Base to ASCII →
Decode numeric strings in any base (2-36) to ASCII text - space, comma, or…
Convert ASCII to Arbitrary Base →
Convert ASCII to Arbitrary Base text to numeric strings in any base (2-36) -…
Convert ASCII to Base6 →
Encode text to Base64 - Unicode, URL-safe variant, optional 76-char line wrap. Free, client-side,…
Convert ASCII to Bytes →
Convert text to UTF-8 byte values - decimal, hex, binary, octal, with JSON or…
ASCII to Decimal Converter →
Convert text to decimal ASCII codes or Unicode code points - strict, byte, UTF-8,…
ASCII to Hexadecimal Converter →
Convert ASCII to hexadecimal - code points or UTF-8 bytes, uppercase, 0x-prefix, JSON-array output.…
ASCII to HTML Entities Converter →
ASCII to HTML as entities - safe XSS escape, numeric decimal, or numeric hex.…
ASCII to Image Converter →
Render ASCII to Image art as a PNG - choose font size, family, colours,…
ASCII to Lowercase Converter →
Convert ASCII to lowercase - locale-aware for Turkish, Azerbaijani, and Lithuanian. Free, client-side, instant,…
ASCII to Octal Converter →
Convert ASCII to Octal (base 8) - code points or UTF-8 bytes, with separators,…