Spell any number out in English β as plain words ("one million two hundred thirty-four thousand five hundred sixty-seven"), as an ordinal ("twenty-first", "21st"), as a currency amount in twenty-plus currencies, or in the US check-writing format ("One thousand two hundred and 50/100"). Decimals are read digit by digit after "point", negatives take "minus" or "negative", and options cover hyphenated tens, British "and", letter case, and the Indian lakh/crore system. Everything runs on string and BigInt arithmetic, so numbers far past JavaScript's safe-integer limit stay exact β up to 66 digits. The Words β Number mode parses an English phrase back into digits. Working with other notations? Try Roman Numerals, the Number Base Converter, or reshape the resulting text with the Case Converter.
Number to Words
Spell any number out in English words, ordinals, currency, or check format β and parse words back into digits
Where spelled-out numbers are actually required
Three places keep this conversion alive long after most writing switched to digits. Checks and promissory notes carry a written courtesy line whose words legally outrank the numeric box. Invoices, contracts, and purchase orders often restate the total in words so a mis-keyed digit cannot quietly change the amount β you can produce the same line for a real invoice with the Invoice Generator, which has an optional "Show total in words" setting. And style guides for prose (AP, Chicago) spell out small numbers, ordinals, and numbers that start a sentence, which is what the Sentence-case option is for.
Known limits
Output is English only, using the short scale (billion = 109) plus the optional Indian system β long-scale European readings and other languages are not supported. Integers are capped at 66 digits (999 vigintillion), or 20 digits in Indian mode. The Words β Number parser accepts well-formed English number phrases including ordinals, "and", and Indian scales, but it deliberately rejects ambiguous input such as "one one" or "twenty thirty" rather than guessing. Currency mode rounds half-up to the currency's minor unit and knows about 36 currencies; an unrecognised ISO code falls back to reading the code itself with "cents" as the minor unit. Check mode covers the common US convention only.
Frequently asked questions
How large a number can this convert?
Up to 999 vigintillion β a 66-digit integer. The conversion uses string and BigInt arithmetic rather than JavaScript floating-point numbers, so a value like 9007199254740993 (2^53 + 1) converts exactly instead of being rounded to the nearest representable double. Type long numbers as digits; if you paste a value that has already been rounded by a spreadsheet or another program, this tool converts the rounded value it receives.
What is the difference between the US and British styles?
US usage writes 105 as "one hundred five" and 1,012 as "one thousand twelve". British usage inserts "and" before a final group under one hundred: "one hundred and five", "one thousand and twelve". Turn on the British "and" option to switch. Note that "and" is only inserted before that final sub-hundred group, so 1,000,101 reads "one million one hundred and one" in both readings of the rule.
How does the check-writing format work, and is it legally significant?
Check mode writes the amount the way the courtesy line on a US check is normally filled in: the dollars spelled out, then the cents as a fraction of 100 β "One thousand two hundred and 50/100". This spelled-out line matters because UCC Β§ 3-114 (Contradictory Terms of Instrument) provides that words prevail over numbers when an instrument contains contradictory terms, so if the written line and the numeric box disagree, the written words are the controlling amount. The exact wording, capitalisation, and the optional trailing "only" are common convention rather than a legal requirement β this tool is not legal or banking advice.
What do the Indian lakh and crore options do?
They switch from the short scale (thousand, million, billion) to the Indian numbering system, which groups digits as 3-2-2-2: 1,234,567 becomes "twelve lakh thirty-four thousand five hundred sixty-seven" instead of "one million two hundred thirty-four thousand five hundred sixty-seven". The scales continue lakh, crore, arab, kharab, nil, padma, and shankh, so the Indian mode supports up to 999 shankh (20 digits).
How are decimals and negative numbers read?
Decimals are read digit by digit after the word "point", which is how numbers are normally spoken: 12.5 is "twelve point five" and 3.14159 is "three point one four one five nine". Trailing zeros you type are preserved, so 12.50 reads "twelve point five zero". Negative numbers are prefixed with "minus" by default, or "negative" if you pick that option. Currency mode instead rounds to the currency's minor unit (half-up) and reads the cents as a number: 1200.50 USD is "one thousand two hundred dollars and fifty cents".
Does anything I type get uploaded?
No. The conversion is a few hundred lines of plain JavaScript running in your browser β there is no API call, no network request, and no signup. The words β number direction runs locally too.
Get weekly dev tools and tips