Number Formatter

Number Formatter

Free online number formatter — add commas, format currency and decimals for 16 locales with live Intl.NumberFormat code output. No signup needed.

Updated June 2026

Quick Mode: Add Commas
1,250,500.75
Technical Configuration
Format Style

Formatted Result

$1,250,500.75

Global Locale Comparison

Simultaneous view of 16 geographic formats.

● Live

🇺🇸 en-US

$1,250,500.75

🇩🇪 de-DE

1.250.500,75 €

🇧🇷 pt-BR

R$ 1.250.500,75

🇫🇷 fr-FR

1 250 500,75 €

🇯🇵 ja-JP

¥1,250,500.75

🇮🇳 hi-IN

₹12,50,500.75

🇬🇧 en-GB

£1,250,500.75

🇨🇳 zh-CN

¥1,250,500.75

🇮🇹 it-IT

1.250.500,75 €

🇷🇺 ru-RU

1 250 500,75 ₽

🇪🇸 es-ES

1.250.500,75 €

🇨🇭 fr-CH

1 250 500.75 CHF

🇸🇦 ar-SA

‏١٬٢٥٠٬٥٠٠٫٧٥ ر.س.‏

🇰🇷 ko-KR

₩1,250,500.75

🇵🇹 pt-PT

1 250 500,75 €

🇻🇳 vi-VN

1.250.500,75 ₫

How to format a number online

Paste a number, preview it in any locale

1. Type the number in Quick Mode

The result updates instantly with thousand separators for your browser's locale.

2. Fine-tune it in Advanced Settings

Pick the locale, style (currency, decimal or percent), currency code and decimal places.

3. Copy the result or the code

"Copy Result" grabs the formatted string; "Copy Code" generates the matching Intl.NumberFormat snippet.

What this number formatter does

The full Intl.NumberFormat API, without writing a line of code

16 locales supported

From en-US and pt-BR to hi-IN and fr-CH, each with its own grouping rules baked in.

Ready-to-copy code

The Intl.NumberFormat snippet updates live as you change locale, style or decimal options.

3 formatting styles

Currency, decimal or percent, with configurable minimum and maximum fraction digits.

Locale independent of currency

Show a BRL value using US grouping conventions, or any other locale/currency combination.

Same number, different locales

How 1,250,500.75 looks around the world

Locale — style
Output
en-US — currency (USD)
$1,250,500.75
de-DE — currency (EUR)
1.250.500,75 €
hi-IN — currency (INR)
₹12,50,500.75 — lakh/crore grouping
fr-CH — currency (CHF)
CHF 1'250'500.75 — Swiss apostrophe

When you'll reach for this tool

The scenarios that come up most often

E-commerce price display

Format the same price for every storefront locale with one Intl.NumberFormat call instead of hand-rolled string logic.

Financial dashboards

Show portfolio balances and revenue with the correct thousand separators for each region your users are in.

Invoices and reports

Generate correctly-localized number strings for documents sent to clients in different countries.

Learning and prototyping

Try option combinations and see the exact output before locking in a formatting config in production code.

Common mistakes

Confusing style: 'percent' with multiplying by 100

Intl.NumberFormat treats the value as a fraction — pass 0.45 to get "45%", not 45. Passing 45 outputs "4500%".

Assuming every locale groups digits in threes

hi-IN groups in pairs after the first three digits — that's the lakh/crore system, and it's easy to miss if you've only tested en-US.

Writing a manual regex for thousand separators

Intl.NumberFormat already handles edge cases like the Swiss apostrophe or Indian grouping — a hand-written regex will get those wrong.

Why use this number formatter

It exposes the full power of the native Intl.NumberFormat API — not just thousand separators — and hands you the exact code snippet that reproduces the result, so there's nothing to reverse-engineer later.

It covers real regional quirks, like India's lakh/crore grouping and the Swiss apostrophe separator, that generic "add commas" formatters routinely get wrong.

Frequently asked questions

Use new Intl.NumberFormat('en-US').format(1250500) — it returns "1,250,500". Swap the locale to 'de-DE' if you want periods as thousand separators instead.

References

Related Tools