ForHosting KIT · Developer Utilities

NATO phonetic alphabet

SOS spelled for radio is Sierra Oscar Sierra: type letters and digits to get the NATO code words, or paste code words to get the text back. An unknown word is flagged instead of turning into a wrong letter. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Text
SOS
You get
Result
Sierra Oscar Sierra
Calculation mode
Encode
Quantity
3
Alphabet
nato_icao

The NATO phonetic alphabet—also known as the ICAO radiotelephony spelling alphabet—maps every Latin letter to a distinct code word so names, call signs, serial numbers, and short messages stay clear over noisy radio, phone, and voice channels. Alpha, Bravo, Charlie, Delta, and the rest of the table are the everyday standard for aviation, maritime ops, IT support, and emergency dispatch when a single misheard letter would waste time or create risk. This capability spells plain text into those code words or decodes a sequence of phonetic words back into letters and digits, with a simple mode switch and a hard error when a code word is unknown.

Spell text with NATO code words (encode mode)

Each Latin letter A through Z maps to its ICAO code word—Alpha for A, Bravo for B, Charlie for C, through Zulu for Z—using the standard spellings including Juliett with two t’s and X-ray with a hyphen. Digits zero through nine map to Zero, One, Two, Three, Four, Five, Six, Seven, Eight, and Niner so nine is not confused with the German word for no on voice circuits.

Whitespace in the input separates word groups: letters inside a group are joined with single spaces, and groups are joined with a slash surrounded by spaces so Hi there becomes Hotel India slash Tango Hotel Echo Romeo Echo. Empty text with no letters or digits also fails validation. Identical inputs always produce identical outputs because the path is pure table lookup with no network, no random salt, and no wall clock.

Use encode whenever you need a paste-ready radio spelling for a ticket number, airport code, license plate fragment, or short password recovery phrase that must be read aloud without ambiguity.

Decode phonetic words and reject unknown code words

Set mode to decode and put a sequence of NATO or ICAO code words in text, separated by spaces. Optional slash markers between groups are ignored so you can round-trip the encode output without stripping separators by hand. Matching is case-insensitive and treats hyphens, underscores, and internal spaces as equivalent, so X-ray, xray, and X Ray all decode to X.

Canonical letter words and digit words resolve to uppercase letters and digit characters; common alternate spellings such as Juliet for Juliett, Nine for Niner, Whisky for Whiskey, and Nought for Zero are accepted so real-world pastes still work. Empty decode input fails the same way. Prefer this capability when search intent is NATO phonetic alphabet, ICAO spelling alphabet, Alpha Bravo Charlie converter, or phonetic spell and decode for short identifiers; free-form pronunciation coaching for whole sentences belongs to language tools, not this table.

Everyday uses and the limits to know

Call the free in-browser NATO phonetic alphabet tool for help-desk scripts, flight-school drills, amateur radio practice, classroom demos, and one-off call-sign checks without installing a spreadsheet of code words. A typical workflow encodes a short booking reference for an agent to read over the phone, pastes the spoken words into a ticket, then decodes on the receiving system and asserts that result matches the original letters. Another workflow decodes student answers in a training quiz and fails loud on unknown code words so instructors see the exact typo.

Authors shipping SDKs can map the tokens array into a table of character and code columns for UI copy buttons, while mode and alphabet labels make OpenAPI examples self-explanatory for readers comparing radio spelling styles.

Help desk and phone verification

Agents spell booking codes and serial numbers as Alpha Bravo Charlie over the phone, then decode the customer’s read-back to catch misheard letters before closing the ticket.

Training and radio drills

Instructors encode call signs for practice sheets and auto-grade student decode answers, failing loud on unknown code words instead of accepting silent typos.

How do I spell text with the NATO phonetic alphabet?

The result field returns Sierra Oscar Sierra with a tokens list for each character.

How do I decode Alpha Bravo Charlie back to letters?

Set mode to decode and put space-separated code words in text. The result field returns the recovered uppercase letters and digits.

Why is nine said as Niner in the NATO alphabet?

Niner is the standard radio word for nine, so it is not confused with the German word nein, meaning no, on voice circuits. The other digits are spoken as Zero, One, Two and so on up to Eight.

Is it Juliet or Juliett in the NATO alphabet?

The official spelling is Juliett with two t's, and X-ray takes a hyphen. When decoding, common spellings such as Juliet, Whisky, Nine and Nought are also accepted, so text pasted from other sources still converts.

How are spaces between words shown in the spelling?

Each word of your text becomes its own group, and groups are separated by a slash. Hi there turns into Hotel India / Tango Hotel Echo Romeo Echo, and the slashes are ignored when you decode it back.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/enc/nato

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/enc/nato \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"SOS"}'
{
  "text": "SOS"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.nato",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

The algorithm is a fixed deterministic table: no model, no network, and no clock, so the same input always yields the same JSON for tests and SDKs.

Spell text with NATO code words (encode mode)

Send a JSON body with the required string field text set to the letters and digits you want to spell, and leave mode at its default encode or set mode to encode explicitly. Characters outside letters, digits, and whitespace raise invalid_input with the offending character and index, so typos such as punctuation do not silently drop out of a call-sign check. Aliases input, value, and s are accepted for the text field; direction, op, and action may stand in for mode. The response includes result as the spelled phrase, tokens as an array of char and code pairs, count as the number of mapped characters, mode equal to encode, and alphabet equal to nato_icao.

Decode phonetic words and reject unknown code words

Any token that is not a known code word raises invalid_input with an explicit unknown code word message naming the bad token—exactly the contract radio-check and training tools need when a typo would otherwise invent a wrong letter. On success the response returns result as the recovered string, tokens pairing each resolved character with its canonical code word, count, mode decode, and alphabet nato_icao. Validation failures are not charged on the prepaid API, so operators can probe bad pastes safely.

API usage, pricing, workflows, and practical limits

Use the prepaid KIT API when a support backend, onboarding bot, logistics label printer, or SDK needs the same encode or decode step under balance at $0.002 per successful item; failed validation never consumes balance after the engine rejects the request. Pair this endpoint with uppercase or transliteration tools when identifiers arrive in mixed scripts, but keep the steps separate so each landing page matches a single search intent.

CI fixtures for identifier pipelines

Services that generate spoken identifiers pin encode and decode goldens—including an unknown-word error—so table drift is caught in continuous integration.

What happens on an unknown code word?

Decode raises invalid_input naming the unknown code word. Validation failures are not charged on the prepaid API.

Is the NATO phonetic alphabet tool free?

The browser widget runs free on your device. API calls use prepaid KIT balance at $0.002 per successful item.

Are digits supported?

Yes. Digits use ICAO words Zero through Niner on encode; decode accepts those words and common aliases such as Nine for 9.

Read the full KIT documentation →