The NATO Phonetic Alphabet Translator converts ASCII letters into the 26 official ICAO radiotelephony code words and decodes those code words back into plain letters, all inside the current browser tab. It is the same kind of in-browser tool that visitors often find at cryptii.com, but it is purpose-built around the spelling table and audited for the official spellings that are easy to mistype. There is no account, no upload, and no server round-trip: validation, mapping, decoding, rendering, and clipboard writing happen locally on the page.

The reference table contains exactly 26 letter-to-word pairs from A through Z. The pair for A is Alfa, not Alpha; the pair for J is Juliett with two final t characters; the pair for X is X-ray. Those details are checked against the NATO Phonetic Alphabet Translator's embedded ICAO Annex 10 row and a current FAA operational table, so they are unlikely to drift to a familiar-looking variant by accident. Encoding ignores source letter case because the spelling alphabet identifies letters, not typography, so HELLO, hello, and Hello all encode to the same sequence of code words.

Decoding is deliberately strict. An unknown or misspelled code word produces an explicit error instead of a silent best-guess substitution. The decoder also rejects Alpha because the embedded official row is Alfa. That strictness helps visitors audit training material, support transcripts, and classroom exercises without a plausible misspelling being reported as an official match.

nato phonetic alphabet online translator cryptii
NATO Phonetic Alphabet Online Translator and Decoder

The 26 Official ICAO Code Words

The table below lists the 26 letter-to-word pairs that the translator uses. Every pair is sourced from the ICAO radiotelephony spelling alphabet and cross-checked against the FAA Order JO 7110.10EE ICAO Phonetics table, so you can paste the result into radio practice or a class handout with confidence that you are using the published spellings.

LetterICAO Code Word
AAlfa
BBravo
CCharlie
DDelta
EEcho
FFoxtrot
GGolf
HHotel
IIndia
JJuliett
KKilo
LLima
MMike
NNovember
OOscar
PPapa
QQuebec
RRomeo
SSierra
TTango
UUniform
VVictor
WWhiskey
XX-ray
YYankee
ZZulu

Two of the spellings above are the ones most often typed wrong by people who learned the alphabet informally. A is Alfa rather than Alpha, which removes any ambiguity with the Greek letter of the same sound. J is Juliett with two t's at the end, which removes ambiguity with the French masculine pronoun. X is X-ray with a hyphen, matching the published style. If you want a deeper explanation of why each official spelling was chosen, the guide to the 26 official NATO code words walks through each row in context.

How to Encode Text Into Code Words

  1. Open the NATO Phonetic Alphabet Translator and select the encode direction, which turns letters into ICAO code words.
  2. Type or paste your source text into the input field. The tool accepts up to 100,000 Unicode code points, and empty, malformed-Unicode, or oversized input is rejected with a clear error rather than a partial result.
  3. Translate the input. Each ASCII letter A through Z is replaced with its code word; nonletters such as digits and punctuation remain literal except for one special case, which is that a literal source slash is escaped as [/] so it cannot be confused with a word boundary.
  4. Inspect the exact tokens in the output. Whitespace between source words — spaces, tabs, or line breaks — collapses into a single visible slash separator, so SOS 2! becomes Sierra Oscar Sierra / 2 ! rather than a long unbroken string.
  5. Click the Copy result button and wait for the browser to confirm that the clipboard write succeeded before pasting the output anywhere. If the browser refuses the write for permission reasons, select the visible result text manually.

The encode pass is intentionally narrow in scope. It does not transliterate non-ASCII letters like é or ñ into approximate English letters, and emoji pass through unchanged. That keeps the output a faithful rendering of the Unicode code points you entered rather than a guess at what you might have meant.

How to Decode Code Words Back Into Letters

  1. Select the decode direction on the same NATO Phonetic Alphabet Translator page.
  2. Paste your code-word sequence into the input. Place a single slash between each source word so the decoder can rebuild the original spaces. For example, paste Sierra Oscar Sierra / 2 ! rather than Sierra Oscar Sierra 2!.
  3. Translate. Each code word is matched case-insensitively against the embedded ICAO table; a slash is converted back into one ordinary space; adjacent code words form one letter sequence; and a one-character digit or punctuation token such as 2 or ! is preserved exactly.
  4. Watch for the explicit error path. A code word that is not in the table, or a familiar-looking misspelling such as Alpha instead of Alfa, produces an error message instead of a silent best-guess letter. That strictness is what makes the decoder useful for verifying transcripts.
  5. Copy only after the browser confirms the clipboard write. The copied string is identical to the displayed output, including slashes, spaces, hyphens, digits, and punctuation, so what you see is what reaches the clipboard.

If you want to learn how to pronounce each code word correctly before you decode a recording, the NATO phonetic alphabet pronunciation guide explains the spoken forms in a way the table itself cannot.

Word Boundaries, Digits, and Punctuation

The slash in the output is a tool convention, not an ICAO code word. It marks where one source word ended and the next began, which makes the encoding reversible: a run of spaces, tabs, or line breaks between source words always collapses to one visible slash in the output, and a single slash in the decode input always produces one ordinary space in the result.

Literal source slashes are escaped as [/] so they cannot be mistaken for a boundary. If your source text is something like www.example.com/path, the encoded form preserves the path slash as [/] rather than splitting it into a fresh word break. Whitespace runs and the literal slash are the only characters the translator treats specially; every other punctuation mark and digit remains literal in both directions.

The translator does not substitute ICAO number pronunciations such as Niner, Fower, or Tree. Digits and punctuation are not in the 26-letter table, so the scope rule is to leave them alone. The example SOS 2! becomes Sierra Oscar Sierra / 2 !, and decoding the same string returns SOS 2!. The same scope rule applies to non-ASCII letters: é, ñ, and ö remain literal rather than being approximated into ASCII, and emoji such as 🙂 remain literal as well. The implementation iterates by Unicode code point so supplementary-plane characters are not split into surrogate halves, even though the official mapping itself applies only to ASCII A through Z.

What the Translator Does Not Cover

This is a focused spelling tool, not a full radio procedure simulator. It does not provide pronunciation coaching, audio playback, ICAO number words, or aviation phraseology, and it does not emit Morse code. If you are training for a real radio context, follow the qualified instruction for that service rather than relying on a single webpage for safety-critical decisions.

The tool also cannot confirm that a transmission was heard correctly. It can show you the official spelling of a callsign or identifier, and it can reverse a code-word transcript you already have, but it has no microphone, no speech engine, and no language model in the loop. For safety-critical operations, treat the output as a spelling reference rather than as a substitute for trained procedure. For pronunciation, the pronunciation guide linked above is the natural next step; for learning the table itself, the dedicated learn-the-alphabet guide walks through each row in context.

Empty input, malformed UTF-16, input over the 100,000 code-point bound, or an unknown decode token all produce a clear error and no partial result, which means you never have to wonder whether a missing token was silently dropped. Clipboard writing happens only after the Copy result button is clicked, and the status message appears only when the browser confirms the write. If a permission failure occurs, the status message tells the visitor to select the visible result manually rather than guessing at what reached the clipboard.