Number Formatter

Format numbers with locale-specific separators and currency symbols

What is it and how does it work?

Number formatting is surprisingly locale-dependent: the number one million looks like 1,000,000 in the US, 1.000.000 in Germany, 1 000 000 in France (with a thin space), and 10,00,000 in India (using the lakh/crore system). A decimal that is 1.5 in English-speaking countries is written 1,5 in most of Europe. Getting this wrong in user interfaces, reports, and data exports causes confusion, misinterpretation, and occasionally financial errors.

This tool formats numbers according to selected locale conventions — controlling thousands separators, decimal separators, number of decimal places, and prefix/suffix symbols (currency, percent). It also supports scientific notation and compact notation (1K, 1M, 1B). The underlying engine uses the Intl.NumberFormat JavaScript API, the same standard used by modern browsers and Node.js for internationalised number rendering.

Common use cases

Frequently asked questions

What is the difference between a thousands separator and a grouping separator?

They're the same thing — the character inserted between groups of digits in large numbers. In the US and UK it's a comma (1,000,000). In Germany and most of Europe it's a period (1.000.000). In Switzerland it's an apostrophe (1'000'000). In India, grouping follows the lakh system: 1,00,00,000 (one crore) rather than 10,000,000.

What is the Intl.NumberFormat API and when should I use it in code?

`Intl.NumberFormat` is a built-in JavaScript/ECMAScript API (available in all modern browsers and Node.js 12+) for locale-aware number formatting. Use it instead of manual string manipulation. Example: `new Intl.NumberFormat("de-DE", {style: "currency", currency: "EUR"}).format(1234.5)` returns "1.234,50 €".

How does Indian number formatting work?

India uses the lakh/crore system: 1 lakh = 100,000 (1,00,000); 1 crore = 10,000,000 (1,00,00,000). After the first group of 3 digits from the right, subsequent groups are 2 digits. The IANA locale code for Indian English formatting is "en-IN".

How do I format numbers for scientific papers?

Scientific papers typically use a comma for thousands (1,234,567) and a period for decimals (3.14159), following US/ISO convention in most English-language journals. For very large or small numbers, scientific notation (6.022 × 10²³) is standard. Some journals prefer non-breaking thin spaces as thousands separators per ISO 80000-1.

Math

Percentage Calculator · Age Calculator · Date Difference · Scientific Calculator · BMI Calculator · Fibonacci Generator