Translating to the NATO phonetic alphabet means converting each ASCII letter A through Z into one of the 26 official code words published in ICAO Annex 10 — for example, A becomes Alfa, B becomes Bravo, C becomes Charlie, and so on through Z (Zulu). The output is a space-joined string of code words with a single visible slash marking each source-word boundary, so the word SOS becomes "Sierra Oscar Sierra" and a phrase like "SOS 2!" becomes "Sierra Oscar Sierra / 2 !". A trustworthy translator holds exactly those 26 mappings — Alfa spelled with an f, Juliett with two t's, X-ray with a hyphen — and preserves digits and punctuation as literal tokens instead of producing aviation number pronunciations such as Niner. The mapping is case-insensitive on input, but the code words themselves always appear in their official capitalized form. Everything happens in the browser, so the text never leaves the device. This is the only factual scope of the 26-letter ICAO radiotelephony spelling alphabet; it is not the International Phonetic Alphabet used for transcribing speech sounds, and it does not include radio procedure, call-sign rules, or number pronunciation rules.

What the NATO Phonetic Alphabet Actually Is
The "NATO phonetic alphabet" is a popular name for the international radiotelephony spelling alphabet maintained by the International Civil Aviation Organization. It is the spelling alphabet that pilots, air-traffic controllers, maritime operators, military communicators, and many support teams use when they need to spell a name, identifier, or short code clearly over a noisy channel. Each letter A through Z is assigned a single fixed code word; listeners hear the word, recognize the initial letter, and reconstruct the spelling without ambiguity.
The 26 code words are not arbitrary. Each one was selected to be distinctive in sound, easy to pronounce across several major languages, and resistant to confusion with the others. The whole point is that "Baker" cannot be mistaken for "Dater" or "Hater" when radio static is present, so the table favors familiar but phonetically isolated words such as Foxtrot, Juliett, and Kilo.
It is important to keep this alphabet separate from two things it is often confused with. First, it is a spelling alphabet — a lookup table of code words — not the International Phonetic Alphabet (IPA), which is a notation system for transcribing the sounds of speech. Second, the 26-letter table does not include any rules for radio procedure, call-sign construction, number pronunciation, or aviation phraseology. Those are separate procedures that the spelling alphabet is used inside.
The Verified 26-Word ICAO Table
The translator is built around a single 26-row table. Each row binds one ASCII letter to one code word, and the table is checked against the official ICAO Annex 10 Volume II radiotelephony spelling alphabet and an independently maintained FAA operational table. The full table is reproduced below so you can audit a translation against it.
| Letter | ICAO Code Word |
|---|---|
| A | Alfa |
| B | Bravo |
| C | Charlie |
| D | Delta |
| E | Echo |
| F | Foxtrot |
| G | Golf |
| H | Hotel |
| I | India |
| J | Juliett |
| K | Kilo |
| L | Lima |
| M | Mike |
| N | November |
| O | Oscar |
| P | Papa |
| Q | Quebec |
| R | Romeo |
| S | Sierra |
| T | Tango |
| U | Uniform |
| V | Victor |
| W | Whiskey |
| X | X-ray |
| Y | Yankee |
| Z | Zulu |
If you are learning the table for the first time, the dedicated NATO phonetic alphabet reference guide walks through all 26 entries with pronunciation notes and memory tips.
How to Translate Text Into the NATO Phonetic Alphabet
The NATO Phonetic Alphabet Translator runs the encoding and the matching decoding direction in a single browser page. Validation, mapping, and clipboard writing all happen locally — nothing is uploaded and no account is needed.
- Choose the direction. Pick "letters to code words" if you want to encode plain text, or "code words to letters" if you have a NATO sequence you want to read back.
- Enter the source text. Type the letters, digits, and punctuation you want to convert. Encoding ignores the case of your input letters, so "sos" and "SOS" produce the same result.
- If you are decoding, place a single slash between source words. Each slash becomes one ordinary space in the decoded output, while runs of spaces, tabs, or line breaks in the source are collapsed to one slash during encoding.
- Click translate and inspect the exact tokens. Check that every code word matches the table above and that digits and punctuation still appear literally.
- Copy only after the browser confirms clipboard success. The status message appears once the write is confirmed; if the browser declines permission, select the visible result manually instead.
What Gets Translated and What Stays Literal
The translator applies the ICAO table only to ASCII letters A through Z. Anything else follows a small set of explicit rules, summarized below.
| Source token | Behavior | Example |
|---|---|---|
| ASCII letter A–Z (any case) | Replaced by the ICAO code word | sos → Sierra Oscar Sierra |
| Run of spaces, tabs, or line breaks between words | Collapsed to one visible slash boundary | Hello world → Hotel Echo Lima Lima Oscar / Whiskey Oscar Romeo Lima Delta |
| Single digit or punctuation character | Kept as a literal token | SOS 2! → Sierra Oscar Sierra / 2 ! |
| Literal source slash | Escaped as the reversible token [/] | a/b → Alfa [/] Bravo |
| Non-ASCII letter, accented character, or emoji | Kept as a literal token, no transliteration | café → Charlie Alfa Foxtrot é |
A few consequences are worth spelling out. The slash is this tool's interface for word boundaries — it is not an ICAO code word. A literal slash in your source text is escaped as the three-character token "[/]" so it cannot be confused with a boundary on the way back. Digits do not become aviation pronunciations; "9" stays as the character 9, not "Niner". The translator also does not attempt to transliterate non-ASCII letters into approximate English letters, so accented characters and emoji pass through unchanged. Iteration happens 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.
Why the Exact Spellings Matter
Three rows are easy to replace with familiar-looking variants by accident, and the translator is built to refuse the wrong spellings rather than silently accept them.
- Alfa, not Alpha. Alfa is the official spelling in the ICAO radiotelephony alphabet and is independently confirmed by the FAA's current operational table. The decoder rejects Alpha deliberately.
- Juliett, with two final t characters. The familiar spelling "Juliet" drops one t. The official ICAO form has two, and the strict decoder will not accept the one-t version.
- X-ray, with a hyphen. The official spelling is the two-segment word "X-ray". "Xray", "X ray", and "X-Ray" are not accepted on decode.
This strictness is useful when you are checking training material or a transcript. A plausible misspelling is far less helpful than an explicit error, because a misspelling that is accepted silently is exactly how bad code words spread. The translator's behavior on the strict rows is documented in the published tests that pin eight official rows across the alphabet, enforce unique letters and unique code words, reject a common wrong spelling, and verify the boundary and literal-symbol rules.
Common Uses for a NATO Translator
The 26-letter table is a practical tool in several everyday contexts beyond aviation and military radio.
- Spelling a name or identifier over the phone. Support lines, clinics, and order desks often ask you to spell a surname, a tracking number, or a booking reference. Code words are easier to hear correctly than raw letters.
- Reading back a short code. A confirmation code such as "KZ7Q" becomes "Kilo Zulu Seven Quebec", which is far easier to verify aloud than reading individual characters.
- Classroom exercises and study drills. Teachers and trainers use the table for memorization and listening practice, and the decoder helps students check their answers against the official spellings.
- Radio practice and hobby communications. Amateur radio operators, air-cadet groups, and emergency-services volunteers rehearse radio procedure using the same table, so a translator that uses the right spellings saves rehearsal time.
- Auditing a transcript or training slide. When you need to confirm that a written sequence actually matches the official alphabet, the strict decoder gives a definite yes-or-no answer for each token.
Limits and What the Translator Does Not Do
The translator's factual scope is the 26-letter ICAO spelling table. It deliberately stops there, so a few capabilities you might expect are out of scope.
- No number pronunciations. Digits stay as written. The translator does not produce Niner for 9, Tree for 3, or Fife for 5. Those aviation number words belong to a separate procedure that is not part of the spelling alphabet.
- No radio procedure, call-sign rules, or phraseology. The tool will not format a transmission, supply callsigns, or generate ICAO spoken phraseology. For real radio work, follow the qualified procedure for your service.
- No confirmation that a transmission was heard correctly. Spelling the words does not prove that a listener decoded them correctly. Use the tool for preparation and audit, not as a substitute for read-back discipline.
- No Morse code, no International Phonetic Alphabet, no language transliteration. Those are different systems with different rules. The translator only maps ASCII letters A through Z to the 26 ICAO code words and back.
- No upload. All mapping, validation, decoding, rendering, and clipboard writing happen locally in the browser. The page does not contact a remote dictionary, language model, speech engine, or server during translation, according to the verified implementation notes that match the FAA's published ICAO phonetics table at faa.gov/documentLibrary/media/Order/7110.10EE.
The input limit is 100,000 Unicode code points, which keeps tokenization, rendering, clipboard payloads, and memory use predictable. Empty input, malformed UTF-16, an over-limit value, or an unknown decode token returns a clear error and no partial result. The translator never truncates accepted text, so for longer passages split the input first or work paragraph by paragraph rather than relying on silent truncation.
Related reading: How to Say Yes in Pig Latin (The Exact Form and Why).