Also available in: Español · Português · Français · العربية
Number to Words Converter
Turn any number into spelled-out words in English, Spanish, Portuguese, French, or Arabic — instantly, with nothing uploaded.
What does a number to words converter do?
A number to words converter takes a numeral — 1234, 21000, −507 — and spells it out as full words, the way you would write it on a cheque or read it aloud: “one thousand two hundred thirty-four” instead of “1234”. This tool does that instantly, for numbers up to just under a quadrillion, in five languages, without a server round-trip: type a number and the words for it appear underneath as you go.
It is built for anyone who needs numbers in words done correctly — filling in a cheque or legal document, drafting an invoice, or just checking how “1234 in words” actually reads in Spanish or Arabic rather than guessing.
How to use it
- Type or paste a number into the box. Words appear underneath immediately, with no button to press and no page reload.
- Choose a language from the dropdown.Pick English, Spanish, Portuguese, French, or Arabic — and, when English is selected, flip the “use and” toggle to switch between American style (“one hundred one”) and British style (“one hundred and one”).
- Copy, clear, or try an example. Copy grabs the spelled-out result, clear empties the box, and example drops in a sample number so you can see the format instantly.
Why this needed a real engine
Browsers already have Intl.NumberFormat for formatting numbers, but it cannot spell them out. That is a separate part of the Unicode standard called RBNF (rule-based number formatting), and no browser exposes it to JavaScript. So this converter is not a translated word list bolted onto English — each language is implemented from its own grammar, because each one breaks differently.
Spanish needs the apocope rule: “uno” shortens to “un” before a scale word, so 21,000 is “veintiún mil” — with the accent — never “veintiuno mil”. Spanish also counts in the long scale, so 10^9 is “mil millones” and “un billón” means a trillion (10^12), not a thousand million. Portuguese places its linking “e” by rule rather than habit: it joins hundreds to tens and tens to units, and joins the final group only when that group is under 100 or a round hundred — “mil e um” and “mil e setecentos”, but “mil duzentos e trinta e quatro”. French has its well-known 70/80/90 quirk (soixante-dix, quatre-vingts, quatre-vingt-dix), where “et” shows up in “vingt et un” and “soixante et onze” but not in “quatre-vingt-un”, and where “vingt” and “cent” take a plural -s only when nothing follows them — “quatre-vingts” but “quatre-vingt-un”, “deux cents millions” but “deux cent mille”, because “mille” is a numeral and “million” is a noun. Arabic uses dual forms instead of saying “two hundred” (مئتان, ألفان), a distinct plural for 3 through 10 (ثلاثة آلاف), and a special singular form for the counted word from 11 to 99 — and which form applies is decided by the last part of the number, so 553 thousand behaves like 53, not like 500.
All of that was checked, not assumed: 90 hand-written assertions cover each language’s known-hard cases, and the output was also run differentially against the n2words library across 5,001 values. English and French matched it exactly, 5,001 out of 5,001. Spanish, Portuguese, and Arabic disagreed — and every disagreement traced back to a bug in that library, not in this tool: it drops the RAE accent and writes “dieciseis” instead of “dieciséis”, it misses the Spanish apocope and produces “veintiuno mil”, it inserts a spurious “um” into “um mil milhões”, and it applies the Arabic 11–99 form inconsistently. n2words was used purely as a comparison during development and is not a dependency of this site.
A few limits are worth stating plainly. The converter handles integers only — no decimals, no currency phrasing like “and 50/100”, no cheque formatting — and it caps out at 999,999,999,999,999, just under a quadrillion, using BigInt internally so large values never lose precision the way ordinary JavaScript numbers do above nine quadrillion. Portuguese output is European Portuguese (“dezasseis”, “mil milhões” for 10^9), not Brazilian (“dezesseis”, “um bilhão”). Spanish uses the long scale, which is correct for Spanish but differs from what “billion” means in English. Arabic numbers are shown in their standalone citation form; in a real sentence, an Arabic numeral agrees with the noun it is counting, which a standalone speller has no way to know. And there are no ordinals — it produces “twenty-one”, not “twenty-first”.
Why is it free?
This is a static page that runs entirely in your browser — the conversion logic ships as JavaScript and executes on your machine, not on a server. There is no account to create, no number is ever uploaded anywhere, and there is no watermark or upsell hiding behind a paywall. It costs nothing to use because it costs almost nothing to serve.