How it works
The Currency Formatter converts a raw number into properly formatted currency notation for any of 150+ world currencies — with correct symbol placement, thousands separator, decimal separator, and number of decimal places per currency standard. Essential for developers building international applications.
Currency formatting is surprisingly complex across locales: $1,234.56 (USD), 1.234,56 € (German EUR), ¥1,235 (JPY, no decimals), ₹1,23,456.78 (INR with Indian grouping), 1 234,56 Fr. (CHF Swiss franc with space separator). Using a wrong format in an application serving international users is a professional error that damages trust.
How to use it: enter a numeric value and select the currency (by code, name, or symbol search). The formatter returns the correctly formatted string in the selected locale. Toggle between developer format (raw formatted string for code use) and display format (with symbol). The raw number is also shown in multiple locale formats simultaneously for comparison.
JavaScript code snippet: the tool generates the Intl.NumberFormat JavaScript code snippet that produces the same output in your application: new Intl.NumberFormat('de-DE', {style:'currency',currency:'EUR'}).format(1234.56)
Accounting format: toggle negative formatting between parentheses (accounting standard: $(1,234.56)) and minus sign (standard: -$1,234.56).
Zero decimal currencies: JPY, KRW, BIF, and other currencies have no decimal places — formatting $10.5 as ¥11 (rounded to integer) is the correct behavior for these currencies.
Privacy: formatting runs locally using Intl.NumberFormat.
Frequently Asked Questions
- The US convention uses a period as the decimal separator and a comma as the thousands separator. The German (and most European) convention swaps these: a period groups thousands and a comma separates decimals. This causes confusion when US-formatted numbers are used in European systems — 1,234 could be interpreted as 1.234 (one point two three four) rather than 1,234 (one thousand two hundred thirty-four).
- The Indian numbering system groups the first three digits from the right (hundreds, thousands) and then groups by two digits for lakhs and crores: 1,23,456 = 1 lakh 23 thousand 4 hundred 56 = 123,456. This matches the Vedic numbering system with distinct names for lakh (100,000) and crore (10,000,000).
- Use the browser's built-in Intl.NumberFormat API: new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(1234.56) → '$1,234.56'. The tool generates the exact code snippet for your selected locale and currency — copy-paste into your JavaScript, TypeScript, React, or Node.js code.
- ISO 4217 is the international standard for currency codes (3 letters, usually the country code + first letter of currency name: USD, EUR, GBP, JPY, INR). The tool's currency selector allows searching by country name, currency name, or symbol — and displays the ISO code for each currency.