Convert Numbers to Words

Convert numbers to English words. Cardinal, ordinal, check-writing format. BigInt for huge numbers, decimal support, US/UK dialect. Free, offline.

Convert any number to English words - cardinal (twenty-one), ordinal (twenty-first), check-writing format (One Thousand and 56/100 Dollars), or literal (digit-by-digit). Uses BigInt so it works on numbers larger than 2^53 - useful for legal amounts and crypto values.

Output -
Enter a number to convert.

How to Use Convert Numbers to Words

  1. Type your number. Integers, decimals, negatives - all accepted. The default 1234.56 demonstrates the check-writing case immediately. Commas and underscores are stripped automatically, so 1,234,567 works fine.
  2. Pick a format. Cardinal is the standard "one thousand two hundred". Ordinal turns the last word into a -th/-st/-nd form ("twenty-first"). Check appends "and 56/100 Dollars" - paste straight onto a paper check. Literal is digit-by-digit ("one two three four") for IDs read aloud.
  3. Pick case. Title Case for formal docs (default for Check). lowercase for inline prose. UPPERCASE for legal certificates and notarized contracts.
  4. Pick dialect. US drops "and" between hundreds and the remainder ("one hundred twenty-one"). UK inserts it ("one hundred and twenty-one"). The difference matters in legal docs and accent-specific contexts.
  5. Pick currency (Check format only). Dollars, Euros, Pounds, Yen, Rupees, Pesos, or Francs. The fractional part is always rendered as "X/100" of that currency unit (cents, pence, etc.).
  6. Pick decimal mode (Cardinal/Ordinal). Fraction renders 0.56 as "and 56/100". Literal renders it as "point five six". Banks prefer the fraction form; spoken math prefers literal.
  7. Hyphenate toggle controls "twenty-one" (default) vs "twenty one". Some style guides drop hyphens; older legal practice keeps them.
  8. Copy or Download. Copy puts the output on your clipboard. Download saves number-words.txt. Reset restores defaults (check mode, Title Case, US dialect) - handy when you've tweaked options for one number and want defaults back.

Frequently Asked Questions

How is the BigInt support useful?

JavaScript’s regular Number type loses integer precision above 2^53 (≈ 9 quadrillion). For legal amounts (large estates, sovereign-debt figures), cryptocurrency satoshi values, or theoretical math, you need exact integers. This tool parses input as BigInt internally and converts chunks of 3 digits at a time, so a 60-digit input still renders exactly – up to “vigintillion” (10^63 range).

What’s the correct check-writing format?

US bank standard: capitalised words for the dollar amount, then “and {cents}/100 Dollars” – e.g., 1234.56 → “One thousand two hundred thirty-four and 56/100 Dollars”. The cents portion is always two digits, padded with zero if needed. This is what banks legally accept; deviations (writing out “fifty-six cents”) may be rejected by some institutions.

Why does US dialect drop “and” but UK keeps it?

In US English, “and” is reserved for separating dollars from cents. So 121 is “one hundred twenty-one” – never “one hundred and twenty-one” – to keep “and” available for the cents marker. UK English uses “and” between hundreds and the remainder by default (“one hundred and twenty-one”), so check-writing in UK style needs a different cents marker. This tool uses US conventions for check format regardless of dialect choice, to avoid bank rejection.

How are ordinals built?

The tool generates the cardinal form first, then transforms only the last word. 21 → cardinal “twenty-one” → last word “one” → ordinal mapping → “first” → final “twenty-first”. For round numbers ending in tens, “twenty” becomes “twentieth”, “thirty” → “thirtieth”, etc. For larger scales: “hundredth”, “thousandth”, “millionth”.

Can I convert decimal numbers?

Yes. In Check mode, decimals become the X/100 fraction (the standard bank format). In Cardinal/Ordinal mode, you choose between “and 56/100” (Fraction mode) or “point five six” (Literal mode). The Literal mode is useful for reading account numbers, phone-number-style identifiers, or version numbers aloud.

What about non-English number systems?

This tool only outputs English. Some languages have completely different scale systems – French uses “soixante-dix” (sixty-ten) for 70; German uses “einundzwanzig” (one-and-twenty) for 21. For those languages you’d need a dedicated converter that understands their grammar.

Long scale vs short scale – which does it use?

Short scale (US / modern UK / international finance). 1,000,000,000 is “one billion” (not “one thousand million” as in long-scale historical British usage). Beyond trillion: quadrillion, quintillion, sextillion, septillion, octillion, nonillion, decillion, …, up to vigintillion (10^63). Long scale would be confusing in modern contexts so it’s not supported.

What’s the maximum input size?

Limited by the SCALES table – currently up to vigintillion (about 63 digits). Numbers larger than that throw “Magnitude beyond vigintillion not supported”. Practically, even legal documents rarely exceed quadrillion. BigInt itself has no theoretical upper limit; the cap is on the named-scale lookup.

Is my data uploaded?

No. All BigInt parsing, chunking, word-table lookup, and case transforms run in your browser. Open DevTools → Network and confirm zero requests fire after the page loads – even when you Convert. Safe for legal amounts, crypto values, or proprietary financial figures.

Does it work offline?

Yes. Total bundle is under 22 KB. Once loaded, disconnect and keep converting. Useful for filling check ledgers or formal documents without round-tripping through any cloud service.