induwara.lk
induwara.lkText · Encoding

Morse Code Translator

Convert text to International Morse code and decode Morse back to text, live as you type. Play the result as adjustable audio and a flashing light, see a per-character breakdown, and copy or download it. Built on the ITU-R M.1677-1 standard — no signup, nothing leaves your browser.

By Induwara AshinsanaUpdated Jun 9, 2026
Morse Code TranslatorITU-R M.1677
Text to Morse
Symbols
Runs entirely in your browser. Nothing is uploaded, logged, or stored.
Try
Morse code
Your Morse code will appear here.
Enter something to play
12 WPM
600 Hz

Sources: code chart and dot : dash : gap ratios from ITU-R M.1677-1; playback unit length (1200 / WPM ms) from the ARRL/PARIS standard. Full citations below.

How it works

The translator encodes and decodes against the International Morse Code chart published by the International Telecommunication Union in ITU-R Recommendation M.1677-1. That chart fixes the dot-and-dash pattern for every letter, digit, and standard punctuation mark, and it fixes the timing ratios used for the audio and light playback.

Encoding (Text → Morse).Your text is uppercased — Morse has no case — then each character is looked up in the ITU table: A = .-, B = -..., and so on. Letters are joined with a single space and words with a /. Any character without an ITU mapping — emoji, accented or non-Latin letters — is collected into a notice rather than dropped without warning.

Decoding (Morse → Text). The input is split on the word separator, then on the letter separator, and each symbol is reverse-mapped through the same table. Common glyph variants are normalised first (· and become a dot; , , and become a dash), so codes pasted from other sites still decode. An unrecognised symbol renders as “�” and is counted.

Timing (sound & light). One “unit” — the length of a single dot — is 1200 / WPM milliseconds. A dot is 1 unit on, a dash is 3 units on, the gap between elements of a letter is 1 unit, between letters 3 units, and between words 7 units. The constant 1200 comes from the PARIS standard: the word “PARIS” plus its trailing space is exactly 50 units, so at 1 WPM each unit is 60000 / 50 = 1200 ms. The audio is a sine oscillator at your chosen pitch with short ramps on each element so the tone does not click.

Two cross-checks guard correctness on every keystroke. A round-trip test confirms that decoding the freshly encoded text returns the original, and a PARIS test confirms the timing model still sums “PARIS” to 50 units. The verified badge on the tool turns red if either ever fails.

Worked examples

Encode “SOS” at 12 WPM (with timing)

  1. Letters: S = ..., O = ---, S = ...
  2. Result: ... --- ...
  3. Unit length = 1200 / 12 = 100 ms
  4. S = 5 units, letter gap = 3, O = 11 units, gap = 3, S = 5 units
  5. Total = 5 + 3 + 11 + 3 + 5 = 27 units × 100 ms = 2,700 ms of tone

Decode “.... . .-.. .-.. ---”

  1. Split on the single-space letter separator
  2. .... = H, . = E, .-.. = L, .-.. = L, --- = O
  3. Decoded text: HELLO

Round-trip “HI 5” (encode then decode)

  1. H = ...., I = .. (word gap /) 5 = .....
  2. Morse: .... .. / .....
  3. Decode that back: split on / → [.... .. , .....] → HI + 5
  4. Result: HI 5 — identity holds

Edge case: an unsupported character (“café”)

  1. C = -.-., A = .-, F = ..-.
  2. “é” has no ITU mapping
  3. Output: -.-. .- ..-. (for CAF)
  4. The notice flags “é” ×1 — nothing is silently dropped

International Morse code chart

The full ITU-R M.1677-1 set. Copy any row, or just type into the tool above — the per-character breakdown shows the same mapping for your input.

Letters

A.-
B-...
C-.-.
D-..
E.
F..-.
G--.
H....
I..
J.---
K-.-
L.-..
M--
N-.
O---
P.--.
Q--.-
R.-.
S...
T-
U..-
V...-
W.--
X-..-
Y-.--
Z--..

Digits

0-----
1.----
2..---
3...--
4....-
5.....
6-....
7--...
8---..
9----.

Punctuation & signs

..-.-.-
,--..--
:---...
?..--..
'.----.
--....-
/-..-.
(-.--.
)-.--.-
".-..-.
=-...-
+.-.-.
@.--.-.
!-.-.--
&.-...
;-.-.-.
_..--.-
$...-..-

Common prosigns (ITU-R M.1172)

Sent as run-together letters with no inter-letter gap. Reference only — the encoder above treats each letter individually.

ProsignCodeMeaning
SOS...---...International distress signal
AR.-.-.End of message
AS.-...Wait / stand by
BT-...-Break / new paragraph
KN-.--.Go ahead, named station only
SK...-.-End of contact (silent key)
HH........Error — disregard, resend

Frequently asked questions

Sources & references

Related tools

Rate this tool
Be the first to rate

Comments & feedback

Spotted a bug or want an improvement? Tell us — our team reviews every comment, and good ideas get built. Comments are public and anonymous.

Found a bug, edge case, or want to suggest an improvement?

Email me at [email protected] — most fixes ship within 24 hours.