Command Palette

Search for a command to run...

Number to Words Converter: Spell Any Number in English Correctly

Number to Words Converter: Spell Any Number in English Correctly

T
Toolz Team
|Aug 23, 2026|15 min read

Part of the Converters collection

I first needed to spell numbers programmatically when a client's invoicing plugin had to print "Amount in words" on every receipt, the way a cheque does. It sounds trivial until you hit 1,000,000 and have to decide whether it is "one million" or "ten hundred thousand," or until a value like 2,015 turns into "twenty fifteen" in your head when the document needs "two thousand fifteen." Written-out numbers follow strict rules, and getting one wrong on a financial document is not a small thing. That receipt feature is why I built number-to-words logic I could trust, and it now lives as a free tool on toolz.dev.

TL;DR: A number-to-words converter spells a numeric value in English - 1,234 becomes "one thousand two hundred thirty-four." It handles cardinals (one, two, three), ordinals (first, second, third), currency ("one hundred dollars and fifty cents"), and decimals read digit by digit ("three point one four"). The Number to Words Converter does all four, converts words back into numbers, spells integers exactly up to decillions, and runs entirely in your browser.

Spelling out a number is locale-specific, and the rules are catalogued: Unicode CLDR carries the number-spellout data that internationalised software uses instead of hand-written English rules.

This guide explains the rules English uses to name numbers, where people most often get them wrong, how currency and decimals are handled, and how the reverse direction - words back to digits - works. If you have ever stared at a form field labeled "amount in words" and second-guessed yourself, this is the reference to keep.

Why would you convert a number to words?

The most common reason is legal and financial documents. Cheques, invoices, contracts, and promissory notes print an amount twice: once in figures and once in words. The words exist to remove ambiguity and make tampering harder - it is easy to change a digit, harder to convincingly alter a written phrase. By long-standing convention, if the figures and the words disagree, the written words are treated as the authoritative amount. That is why the feature shows up in so much billing software.

The second reason is accessibility and voice. Screen readers and voice interfaces often need or produce the spoken form of a number, and spelling numbers out is how you control exactly how a value is read aloud. Education is a third: teaching materials convert between digits and words constantly, and children's worksheets are full of "write this number in words" exercises.

Then there are the small practical moments - filling in a form by hand, writing a formal letter where style guides prefer spelled-out numbers under a hundred, or labeling something where digits would look out of place. The task is common enough that "number to words" is a steady search every month, which is exactly the kind of durable, genuinely useful utility the toolz.dev web developer toolkit is built around.

How does English name large numbers?

English builds number names from three-digit groups, reading from the largest group down. Each group is spelled as a three-digit number and then given a scale name.

The scale names, in the modern short scale used across the US and contemporary UK, go: units (no name), thousand, million, billion, trillion, quadrillion, quintillion, and onward through sextillion, septillion, and further. Each step multiplies by a thousand. So a number is chopped into groups of three digits from the right, each group is named, and the groups are joined.

Take 1,234,567. Split it into groups: 1 | 234 | 567. Name each with its scale: "one million," "two hundred thirty-four thousand," "five hundred sixty-seven." Join them: "one million two hundred thirty-four thousand five hundred sixty-seven." Groups that are all zeros are skipped entirely - 1,000,045 is "one million forty-five," with nothing said for the empty thousands group.

Within a single group of three, the rules are: the hundreds digit gets its name plus "hundred," and the last two digits follow the tens-and-ones pattern. Numbers below twenty have unique names (eleven, twelve, thirteen). From twenty up, compound values are hyphenated: twenty-one, forty-seven, ninety-nine.

Here is how the scale steps map to digits:

Number Digits Words
Thousand 1,000 one thousand
Million 1,000,000 one million
Billion 1,000,000,000 one billion
Trillion 1,000,000,000,000 one trillion
Quadrillion 1,000,000,000,000,000 one quadrillion

The Number to Words Converter names groups all the way up through decillions, and because it spells the integer from its digit string rather than a numeric value, it stays exact even past the point where a normal JavaScript number loses precision around 9 quadrillion. That last detail mattered in the invoicing case - you do not want rounding error in a legal amount.

Should there be an "and" in written numbers?

This is the question that starts arguments, and the honest answer is that it depends on the dialect.

In American English, "and" is generally omitted between the parts of a whole number. So 2,500 is "two thousand five hundred," and 342 is "three hundred forty-two." In this style, "and" is reserved for the decimal point - "one hundred and five hundredths" would specifically indicate a decimal.

In British English, "and" is commonly inserted before the final two-digit part: "two thousand five hundred," but "three hundred and forty-two," and "one thousand and one." Both are correct in their own register.

The converter follows the American convention and produces no "and" between the parts of a whole number, which is the safer default for software because it is unambiguous. When reading words back into a number, though, it accepts an "and" wherever someone might type it, so "three hundred and forty-two" still parses to 342. Being strict on output and lenient on input is a good general rule for this kind of tool.

How are currency amounts and decimals handled?

Currency and plain decimals are spelled differently, which trips people up.

For a plain decimal, the whole part is spelled normally, then the word "point" is said, then each digit after the point is read individually. So 3.14 is "three point one four," and 0.05 is "zero point zero five." Reading the digits one at a time - rather than as a two-digit number - is the standard way to voice a decimal without ambiguity. "Three point fourteen" is not how decimals are read aloud in careful English.

For currency, the format changes entirely. The whole part becomes a count of dollars and the first two decimal places become cents: 100.50 is "one hundred dollars and fifty cents." This is the format cheques and invoices expect, and it is why the converter has a dedicated currency mode. The singular and plural forms adjust too - one dollar and one cent, but two dollars and fifty cents. Turn on currency mode when you are filling in a monetary field, and leave it off when you just want the mathematical value spelled out.

Negative numbers are prefixed with "negative," matching how they are written and spoken: -42 is "negative forty-two." The converter applies the sign first, then spells the magnitude.

Because these formatting choices change the output completely, picking the right mode matters more than the raw number. This is the same "small correct choices compound into a reliable result" idea that runs through the developer productivity tools approach - get the mode right and the tool does the rest exactly.

What is the difference between cardinal and ordinal numbers?

Cardinal numbers name a quantity: one, two, three, forty-two. Ordinal numbers name a position in a sequence: first, second, third, forty-second. You need ordinals for dates written out ("the twenty-first of June"), rankings, and any "which one in order" context.

Most ordinals are formed by adding "th" to the cardinal - four becomes fourth, six becomes sixth, ten becomes tenth. But English has a set of irregular forms you have to memorize: one becomes first, two becomes second, three becomes third, five becomes fifth, eight becomes eighth, nine becomes ninth, and twelve becomes twelfth. Tens ending in "y" change the "y" to "ieth" - twenty becomes twentieth, forty becomes fortieth.

For compound numbers, only the last word takes the ordinal form: twenty-one becomes twenty-first, one hundred becomes one hundredth, one thousand becomes one thousandth. The converter's ordinal mode applies exactly these rules, so 21 gives "twenty-first" and 100 gives "one hundredth." Ordinals apply to whole numbers only; there is no ordinal form of a decimal.

Can it convert words back into a number?

Yes, and this reverse direction is more useful than people expect. Paste "two million four hundred thousand" and the tool returns 2,400,000. This matters when you are digitizing handwritten records, parsing spoken input, or checking that a written amount matches its figures.

The parser understands cardinals up to quadrillions, an optional "and" anywhere it might appear, "negative" or "minus" for the sign, and "point" followed by single digit words for decimals. So "negative one thousand and five point two five" becomes -1005.25. It works on standard phrasing; deliberately unusual constructions may not parse, which is why the feature is best-effort rather than a full natural-language engine.

The reverse direction pairs naturally with the forward one for verification: spell a number, then convert the words back, and confirm you land on the same value. That round-trip check is how I sanity-tested the invoicing feature before it printed a single receipt, and it is the same discipline behind the Roman Numeral Converter, which validates its output by round-tripping too. If you work with numbers in other bases, the Number Base Converter covers binary, octal, and hex.

What mistakes should you watch for?

The biggest is the dialect mismatch on "and" - writing an American-style amount into a British document, or vice versa. Decide which convention the document follows before you start.

The second is mixing up decimal and currency formatting. "Three point one four" and "three dollars and fourteen cents" describe the same digits but mean very different things. Choose currency mode only for money.

The third is trailing-zero decimals. If you type 1.50, careful spelling gives "one point five zero," reading every digit you entered - not "one point five." Whether you want the trailing zero depends on the context; the converter spells the digits exactly as given so you stay in control.

The fourth, in the reverse direction, is expecting the parser to handle years read as pairs - "nineteen eighty-four" for 1984. That is a spoken shorthand, not a standard number name; type "one thousand nine hundred eighty-four" if you need 1984. Everything on toolz.dev, including this tool, runs client-side so nothing you type is transmitted, which is the privacy-first standard behind the whole site.

Where does number-to-words show up in real projects?

Over the years the same handful of scenarios keep bringing this feature back into my work, and they are worth knowing because each has its own quirks.

Invoicing and billing systems are the classic case. Any receipt, invoice, or cheque that shows "Amount in words" needs currency-mode spelling, and the amount has to match the figures exactly. The subtle trap here is rounding: if your figure is 100.50 you want "fifty cents," but if a floating-point calculation left you with 100.499999 you must round to two decimals before spelling, or you will print "forty-nine cents" and mismatch the total. Spell the already-rounded value, never a raw computed float.

Legal and contract documents spell out durations, quantities, and monetary amounts in words for the same anti-tampering reason. Style here leans formal, and some jurisdictions expect the British "and" convention, so confirm which register the document family uses before you standardize. Contracts also frequently pair the words with figures in parentheses - "one thousand (1,000) units" - which you can assemble by running the converter and dropping the digits alongside.

Educational software and worksheets convert both directions constantly. A spelling exercise generates a number and checks the student's written answer, which is exactly the words-to-number direction; a reading exercise does the reverse. Because children's material stays in a small range, you rarely hit the large-number edge cases here, but you do need clean ordinals for "which place did you finish" style questions.

Localization and voice interfaces need the spoken form to control how a value is read aloud, and to translate it. English number rules are only the starting point - other languages group and gender numbers differently - but getting the English form exactly right is the foundation you build the rest on. The same discipline of spelling from the digit string rather than a float keeps large values accurate across all of these, which is the reliability the coding tools guide argues every utility in a workflow should meet.

Frequently asked questions

How do you write 1234 in words?

1234 is "one thousand two hundred thirty-four." The number splits into a thousands group (one thousand) and a units group (two hundred thirty-four), with a hyphen joining thirty and four. Enter 1234 in the converter to see it spelled out instantly.

How do I convert an amount of money to words?

Switch the tool to currency mode and enter the amount, such as 100.50, to get "one hundred dollars and fifty cents." Currency mode spells the whole part as dollars and the first two decimal places as cents, which is the format cheques and invoices expect.

Should there be an "and" in written numbers?

In American English, "and" is usually omitted, so 2500 is "two thousand five hundred." In British English, "and" often appears before the tens, as in "two thousand five hundred and ten." This converter follows the American style without "and," but it accepts an "and" when reading words back into a number.

How are decimals spelled out?

The whole part is spelled normally, then "point" is said, followed by each digit read individually. So 3.14 becomes "three point one four" and 0.05 becomes "zero point zero five." Reading digits one at a time is the standard way to voice a decimal unambiguously.

What is the difference between cardinal and ordinal numbers?

Cardinal numbers name a quantity - one, two, three - while ordinal numbers name a position in a sequence - first, second, third. Turn on ordinal mode to convert 21 into "twenty-first" or 100 into "one hundredth." Ordinals apply to whole numbers only.

What is the largest number this tool can spell?

The converter names groups up to decillions, which covers integers with as many as 36 digits. Because it spells the integer from its digit string rather than a numeric value, the result stays exact even for numbers far larger than a standard number type can hold precisely.

Can it convert words back into a number?

Yes. Type a phrase like "two million four hundred thousand" and the tool returns 2400000. It understands cardinals up to quadrillions, an optional "and," "negative" or "minus" for sign, and "point" followed by single digits for decimals. Word-to-number parsing is best-effort and works on standard phrasing.

Why do I need to spell numbers out at all?

Writing an amount in words removes ambiguity and makes tampering harder, which is why cheques, contracts, and invoices show both the figures and the words. If the digits and the written amount ever disagree, the written words are typically treated as authoritative.


Comments

0 comments

0/2000 characters

No comments yet. Be the first to share your thoughts!