🔤 Number to Words Converter

🌐 Language

English uses short scale (109 = billion); Spanish uses long scale (1012 = billón). See the SEO content above for full details.

🔢 Number

BigInt-safe: paste a 30-digit number if you need to. Decimals, hex literals, and scientific notation are rejected.

📤 In words

{{ words }}
Enter an integer above — the spelled-out form will appear here.

🔁 Normalized input

{{ normalizedValue }}

The exact integer the converter saw, after stripping leading zeros and whitespace.

⚠️

ℹ️ About Number to Words Converter

Spell integers in English or Spanish words

Paste or type any integer — positive, negative, or zero — and the tool spells it out as words in either English (American/modern British short scale) or Spanish (Real Academia Española long scale). Range: magnitudes strictly less than 1036 are accepted, so you can spell any value through the decillion range (1033) in English. Anything larger raises a validation error rather than silently truncating.

Input arrives as either a JavaScript number or a digit string. Digit strings let you spell BigInt-safe values like 123,456,789,012,345,678,901,234,567,890 without worrying about IEEE-754 precision.

⚠️ Short scale vs long scale — they disagree!

The single most important thing to know about this tool: English and Spanish use different naming systems for large numbers. A "billion" in English does not translate as "billón" in Spanish. This is a real-world translation hazard that this tool handles automatically — each language follows its own canonical convention.

Power of 10 English (SHORT scale) Spanish (LONG scale)
106one millionun millón
109one billionmil millones (NOT billón)
1012one trillionun billón
1015one quadrillionmil billones
1018one quintillionun trillón
1024one septillionun cuatrillón
1030one nonillionun quintillón
1033one decillion (just over our cap)mil quintillones

Short scale (used by modern English, Brazilian Portuguese, and most English-influenced styles): each new "-illion" is 1,000 times the previous one. Long scale (used by most European Romance and Germanic languages, including Spanish, French, and German): each new "-illón" is 1,000,000 times the previous one, with an intermediate "mil X" level between each. So 109 is "billion" in short scale but "mil millones" (literally "one thousand millions") in long scale.

English rules (short scale)

  • Compound numbers from 21 to 99 are hyphenated: twenty-one, forty-five, ninety-nine.
  • "and" is omitted in the modern American convention: one hundred one, not one hundred and one.
  • Scale words don't pluralise: two million, not two millions.
  • Negatives are prefixed with negative: -42 → negative forty-two.
  • Zero is zero.

Spanish rules (long scale)

  • 21–29 collapse to one word: veintiuno, veintidós, … veintinueve (NOT "veinte y uno").
  • 31–99 use "y": cuarenta y cinco, sesenta y dos, noventa y nueve. No hyphens.
  • "cien" / "ciento": exactly 100 is cien; 101–199 use ciento (e.g. ciento uno).
  • "mil" is unmarked: 1,000 is mil — never "un mil". 2,000 is dos mil.
  • Pluralisation rule for "-illón" levels: 1×106 is un millón, 2×106 is dos millones (add -es to "millón" → "millones"). Same pattern at billón → billones, trillón → trillones, etc.
  • Apocopation of "uno": "uno" becomes un before a masculine noun. veintiún mil, treinta y un millones.
  • Negatives are prefixed with menos: -42 → menos cuarenta y dos.
  • Zero is cero.

Worked examples

Number English (short scale) Spanish (long scale)
0zerocero
21twenty-oneveintiuno
45forty-fivecuarenta y cinco
100one hundredcien
101one hundred oneciento uno
1,000one thousandmil
12,345twelve thousand three hundred forty-fivedoce mil trescientos cuarenta y cinco
1,000,000one millionun millón
1,000,000,000one billionmil millones
1,000,000,000,000one trillionun billón
-42negative forty-twomenos cuarenta y dos

Use cases

  • Cheque/legal documents: spell out monetary amounts in both digits and words to prevent forgery.
  • Accessibility: generate screen-reader-friendly text for large numeric values.
  • Translation tooling: render currency or quantity values in localised long-form for receipts and invoices.
  • Math/language education: teach the difference between short and long scale numbering systems.
  • Test data: generate human-readable labels for synthetic data sets.

Limits and errors

  • Maximum absolute magnitude is 1036 − 1 (a 36-digit number of all 9s). Larger values raise "value magnitude exceeds 10^36 − 1". This keeps every result inside named scales — the top English scale reached is "decillion" (1033).
  • Non-integer input (e.g. 12.5, 0.1, hex, scientific notation strings) is rejected.
  • Unsupported language values (anything other than "en" or "es") raise "language must be \"en\" or \"es\"".
  • The browser and API share the same TypeScript module, so both paths produce identical output.

References

API Usage Example:

POST /api/tools/math/number-to-words
Content-Type: application/json

{
    "value": "1000000000",
    "language": "en"
}
Ready