Number to Words

Spell a number in English (with optional currency mode).

Open tool

Overview

Spell any number out in English words. "1,234" becomes "one thousand two hundred thirty-four"; "0.5" becomes "zero point five"; in currency mode "1234.56" becomes "one thousand two hundred thirty-four dollars and fifty-six cents". It handles integers, decimals, and large numbers up to the quadrillions.

Cheque writers (where the amount in words is the legal record), legal-document authors, contract drafters, accessibility specialists generating screen-reader-friendly amounts, and language learners practicing English numerals all use it. Banking and finance applications also rely on number-to-words conversion for compliance.

How it works

The algorithm walks each three-digit group from largest to smallest — quadrillions, trillions, billions, millions, thousands, ones — emitting "X hundred Y-Z" for each group followed by its scale word ("million", "thousand"). Tens 20–99 use hyphens (twenty-one, thirty-five); teens 11–19 are irregular (eleven through nineteen). Currency mode appends a unit and handles fractional cents separately.

Examples

Input:  42
Output: forty-two
Input:  1,234,567
Output: one million two hundred thirty-four thousand five hundred sixty-seven
Input:  19.99   (currency mode)
Output: nineteen dollars and ninety-nine cents

FAQ

Does it handle negative numbers?

Yes. "-50" becomes "negative fifty" (or "minus fifty" depending on the variant chosen).

What about other languages?

This tool is English-only. The same algorithm applied to French, Spanish, or German requires different irregular tables (French has the famous quatre-vingt-dix for 90).

British or American style?

The main difference is the comma in compound numbers ("one hundred and twenty" UK vs "one hundred twenty" US). A toggle picks the variant.

How big can the number be?

Up to about 10^15 (quadrillion) is comfortably supported. Beyond that, naming conventions diverge between long-scale and short-scale systems.

Try Number to Words

An unhandled error has occurred. Reload ×