Number to Words Converter
Spell any number out in words, with short scale, long scale or the Indian lakh and crore system, plus ordinal, cheque and digit-by-digit forms.
🔒 This tool runs entirely in your browser. Your files are never uploaded to a server.
Commas and spaces are ignored, so you can paste straight from a spreadsheet. Example shown — enter your own.
How to use it
- Type or paste the number — commas and spaces are ignored.
- Pick a numbering system if you need lakh and crore, or the long scale.
- Choose the capitalisation you want, and the currency for cheque wording.
- Copy whichever of the four forms you need.
The same number, three systems
1,234,567 short → one million two hundred and thirty-four thousand five hundred and sixty-seven
1,234,567 long → identical: the two scales only part company at 10⁹
12,34,567 Indian → twelve lakh thirty-four thousand five hundred and sixty-seven
The grouping changes with the system as well as the words, because 12,34,567 is how that number is written wherever lakh and crore are used. Above a billion the two -illion scales diverge in a way that genuinely matters: short-scale 10⁹ is a billion, long-scale 10⁹ is a milliard and its billion is a thousand times larger.
Why the number is never turned into a number
This is the part most converters get wrong. A JavaScript number is a 64-bit float, exact only up to 2⁵³ − 1. Parse a longer integer and it silently lands on the nearest value it can hold:
input 9007199254740993
as a number 9007199254740992 ← the 3 is gone
words would end "…ninety-two"
So the digits are never parsed as a whole. They are sliced into groups from the right and only three digits at a time are ever converted to a number, which is small enough to be exact. The last word of that example comes out as "ninety-three", as it should. It is also why the limit is 36 digits — the point at which the scale runs out of names, not the point at which the arithmetic breaks.
Four forms, because they are not interchangeable
In words is the quantity, with any decimal read digit by digit after "point" — that is how it is spoken. Ordinal is position rather than quantity, and it only touches the last word: twenty-one becomes twenty-first, twenty becomes twentieth, twelve becomes twelfth. Cheque wording reads the subunit as a number instead, pads it to two digits and ends with "only". Digit by digit is for reading out a reference or account number, where grouping the digits into a quantity would be actively unhelpful.
FAQ
Is a billion a thousand million or a million million?
Both, depending on where you are. The short scale, used in English today, makes a billion 10⁹ — a thousand million. The long scale, still standard across much of continental Europe, makes it 10¹² and calls 10⁹ a milliard. Below 10⁹ the two agree exactly, which is why 1,234,567 reads the same in either.
What are lakh and crore?
The Indian system groups digits in twos above the first three rather than in threes throughout. A lakh is 100,000 and a crore is 10,000,000, so 1,234,567 is written 12,34,567 and read as twelve lakh thirty-four thousand five hundred and sixty-seven. Switching the system changes both the grouping shown and the words.
Should there be an "and" in one hundred and one?
In British usage, yes; American usage drops it. The toggle covers both, and it applies in two places — inside a group, and before a trailing group under a hundred, so you get "one million and five" rather than "one million five".
Why is the decimal read digit by digit?
Because that is how it is said aloud. The number 1.89 is "one point eight nine", not "one point eighty-nine" — the digits after a point are a sequence, not a quantity. The cheque wording is the exception, since there the two digits really are a number of cents.
Can it handle very large numbers?
Up to 36 digits on either -illion scale and 17 on the Indian one, which is where the named scales run out. Beyond that it says so rather than inventing a word. Precision holds all the way, because the number is never loaded into a floating-point value as a whole.
Why do I need this for a cheque?
Because the written amount is the legally controlling one on most cheque forms, and the wording has conventions — the subunit as a number, "only" at the end to stop anything being added after it. The cheque output follows them.
How we compare
| Feature | Online Tool Store | Typical converters | Spreadsheet formula |
|---|---|---|---|
| Short scale, long scale and lakh/crore | ✓ | Usually one only | ✗ |
| Exact past 2⁵³ − 1 | ✓ | Often silently wrong | Same float limit |
| British and American "and" | ✓ | Fixed to one | Fixed to one |
| Cardinal, ordinal, cheque and digit-by-digit | ✓ | Usually one or two | ✗ |
| Nothing typed is uploaded | ✓ | Varies | ✓ |
| Works down a column of thousands of rows | ✗ | ✗ | ✓ |
| Languages other than English | ✗ | Sometimes | Depends on locale |
Good for one number at a time when the details matter — the right scale, the right "and", and digits that stay exact past the point where a float gives up. It is English only and it will not process a spreadsheet column, so for bulk work a formula in the sheet itself is the better route.