How to Convert Numbers to Words (Spell Out Any Number)
By Rui Barreira · Last updated: 12 June 2026
Converting a number to its written English form — “forty-two” instead of 42 — is a routine task for legal documents, cheques, invoices, and accessibility-friendly content. The challenge is doing it accurately at scale without relying on a server-side API. A client-side converter runs entirely in your browser: no network request, no account, no waiting. Type a number, get the words immediately.
How to convert a number to words
- Open the converter. Go to brevio Number to Words.
- Type your number. Enter any integer, decimal, or negative number — for example,
1234567,-42, or3.14. - Read the instant result. The word form appears below the input field as you type — no button press needed.
- Click Copy to send the result to your clipboard, ready to paste into a document or form.
How to confirm no data is transmitted
You can verify the tool is genuinely client-side in under a minute using browser DevTools.
- Open DevTools. Press F12 on Windows/Linux, or ⌘⌥I on Mac.
- Go to the Network tab. Filter to Fetch/XHR requests. Check “Disable cache” to ensure fresh results.
- Type a number into the tool. Watch the Network tab while the result appears.
- Confirm the result. On brevio you will see zero outbound requests — the conversion is handled by a JavaScript function inside your browser tab. No data leaves your device.
Number to words — tool comparison
| Tool | Sends data to server? | Works offline? | Supports decimals? | Supports negatives? |
|---|---|---|---|---|
| brevio Number to Words | No | Yes | Yes | Yes |
| CalculatorSoup | Yes — server renders result | No | Limited | Yes |
| Tools4Noobs | Yes — server-side PHP | No | No | No |
| JavaScript in browser console | No | Yes | Manual implementation | Manual implementation |
Common use cases for number-to-words conversion
Writing numbers as words is required or preferred in several common situations:
- Cheques and bank drafts: The written-out amount is the legally binding figure. If the numeric and written amounts conflict, the written words typically take precedence under banking rules.
- Legal documents and contracts: Courts require amounts to be written out in full — “one thousand two hundred euros” — to prevent disputes about altered figures.
- Invoices and purchase orders: Many accounting systems and invoice templates include a “amount in words” field alongside the numeric value for fraud prevention.
- Accessibility (ARIA labels): Screen readers can mispronounce numbers in edge cases. Replacing numeric labels with explicit word strings eliminates ambiguity.
- Educational content: Teaching number literacy or explaining place value often requires the written form alongside the digit representation.
- Localisation testing: Developers building number-to-words logic for other languages use an English baseline to validate their algorithms before adapting to locale-specific rules.
How number-to-words conversion works in JavaScript
The underlying algorithm uses a recursive chunking strategy. Numbers are broken into groups — billions, millions, thousands, hundreds — and each group is converted independently, then joined with the appropriate scale word.
const ones = [
'', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine',
'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen',
'seventeen', 'eighteen', 'nineteen',
]
const tens = [
'', '', 'twenty', 'thirty', 'forty', 'fifty',
'sixty', 'seventy', 'eighty', 'ninety',
]
function intToWords(n) {
if (n === 0) return ''
if (n < 20) return ones[n]
if (n < 100) return tens[Math.floor(n / 10)] + (n % 10 ? '-' + ones[n % 10] : '')
if (n < 1000) return ones[Math.floor(n / 100)] + ' hundred' + (n % 100 ? ' ' + intToWords(n % 100) : '')
if (n < 1_000_000) return intToWords(Math.floor(n / 1000)) + ' thousand' + (n % 1000 ? ', ' + intToWords(n % 1000) : '')
if (n < 1_000_000_000) return intToWords(Math.floor(n / 1_000_000)) + ' million' + (n % 1_000_000 ? ', ' + intToWords(n % 1_000_000) : '')
return intToWords(Math.floor(n / 1_000_000_000)) + ' billion' + (n % 1_000_000_000 ? ', ' + intToWords(n % 1_000_000_000) : '')
}
export function numberToWords(n) {
if (n === 0) return 'zero'
const negative = n < 0
const abs = Math.abs(n)
const intPart = Math.floor(abs)
const decStr = abs % 1
? abs.toFixed(10).replace(/\.?0+$/, '').split('.')[1]
: null
let result = intToWords(intPart) || 'zero'
if (decStr) result += ' point ' + decStr.split('').map(d => ones[+d] || 'zero').join(' ')
return (negative ? 'negative ' : '') + result
}Key properties of this implementation: it runs in O(log n) time proportional to the number of digit groups, has no external dependencies, and produces consistent hyphenation for compound tens (forty-two, not forty two) which is the grammatically correct modern form in British and American English.
Decimal handling — what “point” means
When a decimal is entered, the fractional part is converted digit by digit after the word “point”. This matches spoken English convention: 3.14 is said as “three point one four,” not “three and fourteen hundredths” (the latter is a formal written convention used on cheques for currency amounts, not natural spoken form).
For cheques specifically, amounts like €1,250.75 are typically written as “one thousand, two hundred and fifty euros and seventy-five cents” — a slightly different format that involves the currency unit. The brevio tool produces the natural spoken form, which you can adapt for currency contexts by appending the unit manually.
Grammar notes — when to use words vs. numbers
Style guides differ on this, but the most widely followed rules in professional English writing are:
- Spell out numbers one through nine in running prose. Use digits for 10 and above.
- Always spell out a number that starts a sentence — regardless of its size. Rearrange the sentence if the spelled-out form is unwieldy.
- Use digits for measurements, statistics, and technical quantities even when small: “5 km,” “2 hours,” “3 participants.”
- Use words on legal and financial documents where the word form is required alongside the digit form for verification.
- Be consistent within a document. If one number in a series requires digits (e.g., 15), use digits for all numbers in that series — including those below 10.
Frequently Asked Questions
- What is the largest number this tool supports?
- Up to 999 billion (999,999,999,999). Numbers above this limit return an error. For most practical purposes — cheques, invoices, legal documents — this range covers all realistic amounts.
- Does it support decimals?
- Yes. Enter 3.14 and it returns “three point one four.” The decimal digits are spelled out individually, following the spoken English convention.
- Does it support negative numbers?
- Yes. Enter -42 and it returns “negative forty-two.” The word “negative” prefixes the converted absolute value.
- Is my number sent to a server?
- No. The conversion runs entirely in JavaScript inside your browser tab. Verify this yourself: open DevTools → Network tab, type a number, and confirm zero outbound requests are made.
- Why would I need to convert numbers to words?
- Common uses: writing cheques (the written amount is legally binding), drafting contracts, filling in invoice word-amount fields, writing ARIA labels for accessibility, and education.
- How is “forty-two” different from “forty two”?
- Both are used, but “forty-two” with a hyphen is the grammatically preferred form for compound numbers from twenty-one through ninety-nine in both British and American style guides (Chicago, AP, Oxford).
To convert a number to words immediately, use brevio Number to Words. For related text utilities, see the Word Counter and Text Case Converter.
Frequently Asked Questions
- What is the largest number this tool supports?
- Up to 999 billion (999,999,999,999).
- Does it support decimals?
- Yes. Enter 3.14 and it returns "three point one four".
- Does it support negative numbers?
- Yes. Enter -42 and it returns "negative forty-two".
- Is my data sent to a server?
- No. The conversion runs entirely in your browser in JavaScript. Nothing leaves your device.
- Why would I need to convert numbers to words?
- Common uses: writing cheques, legal documents, invoices, and accessibility text.