Number Formatter
TextFormat any number with custom thousands separators, decimal places, and locale — Indian, US, European styles. Instant, in-browser, no sign-up required.
What is a Number?
A Number Formatter takes a numeric value and applies locale-specific formatting rules — thousands separators, decimal points, currency symbols, and notation styles — to produce a human-readable representation. The same number, 1234567.89, can legitimately appear as ₹12,34,567.89 in Indian finance, $1,234,567.89 in US accounting, 1.234.567,89 in German documents, or 1.23M on a dashboard, depending on the audience and context.
Getting number formatting right matters. A financial report using the wrong grouping style can be misread by thousands. An invoice with the incorrect currency symbol is unprofessional. A web application that uses the browser's raw Number.toString() output — 1234567.89 — without any formatting is harder to read than necessary.
This formatter uses the browser's native Intl.NumberFormat API, which covers all major locales with accurate rules. It supports six format styles: Decimal (locale-appropriate thousands grouping), Currency (symbol + grouping + decimal places per currency standard), Percent, Scientific (e.g. 1.23e+6), Engineering (exponents as multiples of three), and Compact (e.g. 1.2M or 12L in Indian locale).
For the Indian Rupee system specifically, including the amount-in-words output used on cheques and official documents, see the dedicated Rupee Formatter.
How to use this Number calculator
- Enter a number in the Number field — use a plain numeric value like
1234567.89. - Choose a Format Style — Decimal for plain number, Currency for a currency symbol, Compact for short forms.
- Choose a Locale — Indian (en-IN) applies lakh/crore grouping; US (en-US) uses the 1,000 grouping.
- If Currency is selected, enter the Currency Code (e.g. INR, USD, EUR).
- Choose Decimal Places or leave on Auto.
- The Formatted Number and In Words outputs update instantly.
- Click Copy next to either output to copy it to your clipboard.
Formula & Methodology
Thousands grouping (decimal style): UsesIntl.NumberFormatwith the specified locale. Indian locale (en-IN) applies the South Asian grouping system: last three digits grouped, then pairs going left (e.g. 12,34,56,789). Currency:Intl.NumberFormatwithstyle: 'currency'and the specified ISO 4217 currency code. Decimal places default to the currency's standard (2 for INR/USD/EUR, 0 for JPY). Percent: Value divided by 100 before formatting withstyle: 'percent'. Scientific: NativeNumber.toExponential(n). Engineering: Exponent rounded down to the nearest multiple of 3; mantissa = value ÷ 10^exp. Compact:Intl.NumberFormatwithnotation: 'compact'. In Words: Indian numbering hierarchy — crores (10^7), lakhs (10^5), thousands (10^3), hundreds, tens, ones.