How it works
Step 1 – Enter your number
Type any number into the input field. You can include:
- A leading minus for negative values
- A decimal point for fractional parts
- Whole numbers as small as
0 or as large as you need
The field accepts standard numeric notation — no commas or spaces required.
Step 2 – Choose your conversion style
Four settings let you tailor the output exactly the way you want:
Numbering System
Switch between the Short scale (million, billion), Long scale (milliard, billion), and Indian system (lakh, crore). The underlying algorithm re‑groups the digits according to each system’s rules before converting.
Decimal Mode
Decide how the part after the decimal point is expressed:
- Point – each digit is read aloud individually
- Fraction – written as
and xx/100 (always using two‑digit precision)
- Currency – attaches major and minor unit names (e.g., dollars and cents)
Use “and”
When enabled, the word and is placed after the hundreds place (e.g., “one hundred and twenty-three”) for a more formal British style.
Capitalization
Choose between sentence case (first letter capitalized), lowercase, or UPPERCASE for all‑caps output.
Step 3 – Get your result instantly
As you type or change any setting, the converter runs a pure TypeScript function that:
- Parses and validates the input number
- Splits the integer part into the correct digit groups (3‑digit chunks for short/long scales, or 3‑then‑2‑digit chunks for Indian numbering)
- Converts each group to English words using a lookup table for ones, teens, tens, and scale names
- Applies the chosen decimal handling
- Formats the final string with capitalization rules
All logic happens on your device — the page never reloads and no data is ever sent to a server.
Under the hood
The engine uses only pure functions with no DOM access, making it:
- Testable — every conversion rule can be verified independently
- Fast — even very large numbers convert in under a millisecond
- Reliable — invalid inputs throw clear, human‑readable errors that are displayed directly in the interface