HomeFormattersTextNumber Formatter

Number Formatter

Text

Format 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

  1. Enter a number in the Number field — use a plain numeric value like 1234567.89.
  2. Choose a Format Style — Decimal for plain number, Currency for a currency symbol, Compact for short forms.
  3. Choose a Locale — Indian (en-IN) applies lakh/crore grouping; US (en-US) uses the 1,000 grouping.
  4. If Currency is selected, enter the Currency Code (e.g. INR, USD, EUR).
  5. Choose Decimal Places or leave on Auto.
  6. The Formatted Number and In Words outputs update instantly.
  7. Click Copy next to either output to copy it to your clipboard.

Formula & Methodology

Thousands grouping (decimal style): Uses Intl.NumberFormat with 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.NumberFormat with style: '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 with style: 'percent'.

Scientific: Native Number.toExponential(n).

Engineering: Exponent rounded down to the nearest multiple of 3; mantissa = value ÷ 10^exp.

Compact: Intl.NumberFormat with notation: 'compact'.

In Words: Indian numbering hierarchy — crores (10^7), lakhs (10^5), thousands (10^3), hundreds, tens, ones.
Frequently Asked Questions
What is a number formatter?
A number formatter takes a raw numeric value and applies locale-specific rules for thousands grouping, decimal separators, currency symbols, and notation style. Different locales use different conventions — the Indian locale groups digits as 12,34,567 (using lakh and crore groupings) while the US locale produces 1,234,567 and the German locale uses 1.234.567 with a comma for decimals.
What is the difference between the Indian and US number format?
The US format (en-US) groups every three digits from the right: 1,000,000. The Indian format (en-IN) groups the first three digits from the right and then every two digits: 10,00,000 (ten lakh). This two-digit grouping reflects the Indian numbering system based on lakhs and crores rather than millions and billions.
What does the Compact style do?
Compact notation abbreviates large numbers to their short form — 1,200,000 becomes '1.2M' in en-US or '12L' in en-IN. It is useful for chart labels, dashboards, and anywhere space is limited. The number of significant digits shown can be controlled with the Decimal Places option.
How do I format a number as Indian Rupees?
Select Currency style, set Locale to 'Indian (en-IN)', and ensure the Currency Code field shows 'INR'. The output will be formatted as ₹12,34,567.00 with the Rupee symbol and Indian digit grouping. For a dedicated rupee formatter with words output, use the [Rupee Formatter](/rupee-formatter/).
What is the 'In Words' output?
For whole numbers, the formatter also outputs the number written out in words using the Indian numbering system — 1,00,000 becomes 'one lakh', 1,00,00,000 becomes 'one crore'. This is useful for writing cheques, legal documents, and financial reports that require amounts in words.
What is Engineering notation?
Engineering notation is similar to scientific notation but restricts the exponent to multiples of three (0, 3, 6, 9…) so that it corresponds to SI prefixes (kilo, mega, giga). For example, 47,000 is written as 47.000 × 10^3 rather than 4.7 × 10^4.
Is my data sent anywhere?
No. The formatting is done entirely in your browser using the browser's built-in Intl.NumberFormat API. Nothing is uploaded or stored.
Can I format negative numbers?
Yes. Negative numbers are formatted with the locale-appropriate sign or brackets. For example, -1234.56 in en-US currency format produces -$1,234.56 or ($1,234.56) depending on the locale's convention.
What does 'Auto' decimal places mean?
Auto uses the default decimal precision for the chosen style. For decimal style it preserves the number's existing decimal places. For currency it uses the currency's standard fraction digits (2 for INR, USD, EUR; 0 for JPY). For compact and percent it uses up to 2 significant decimal digits.
Can I use this for percentages?
Yes — select Percent style. Enter the raw value (e.g. 12.5 for 12.5%) and the formatter divides by 100 internally before applying the percent notation, producing '12.5%' in the output.
How is Scientific notation different from Engineering?
Scientific notation always places one non-zero digit before the decimal point (1.47 × 10^4). Engineering notation adjusts the exponent to the nearest multiple of three and may have 1–3 digits before the decimal (14.7 × 10^3). Engineering is preferred in electronics and physics where prefixes like kilo, mega, and milli correspond exactly to 10^3, 10^6, and 10^-3.