guide

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

  1. Open the converter. Go to brevio Number to Words.
  2. Type your number. Enter any integer, decimal, or negative number — for example, 1234567, -42, or 3.14.
  3. Read the instant result. The word form appears below the input field as you type — no button press needed.
  4. 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.

  1. Open DevTools. Press F12 on Windows/Linux, or ⌘⌥I on Mac.
  2. Go to the Network tab. Filter to Fetch/XHR requests. Check “Disable cache” to ensure fresh results.
  3. Type a number into the tool. Watch the Network tab while the result appears.
  4. 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

ToolSends data to server?Works offline?Supports decimals?Supports negatives?
brevio Number to WordsNoYesYesYes
CalculatorSoupYes — server renders resultNoLimitedYes
Tools4NoobsYes — server-side PHPNoNoNo
JavaScript in browser consoleNoYesManual implementationManual 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.
More free toolsSee all 162
Merge PDFsCompress ImageJSON FormatterPassword GeneratorVAT CalculatorQR Code Generator