Money formatting, symbols, and regional currency patterns for international commerce and financial applications.

Standard
🇺🇸
$1,234.56
US Dollar (USD)
Large Amount
🇺🇸
$123,456.00
US Dollar (USD)
Small Amount
🇺🇸
$12.35
US Dollar (USD)
Million+
🇺🇸
$1,234,560,000.00
US Dollar (USD)

Standard Formats

Default
$1,234.56
Standard currency formatting
No Decimals
$1,235
Whole numbers only
Always Decimals
$1,234.56
Always show 2 decimal places
Accounting
($1,234.56)
Accounting notation for negatives

Number Formats

Decimal
1,234.56
Plain number with decimals
Percentage
1,234.56%
Percentage formatting
Compact
1.2B
Abbreviated large numbers
Scientific
1.235E9
Scientific notation

Regional Variations

US Format
$1,234.56
$1,234.56 - Dollar sign before, comma thousands
EU Format
1.234,56 €
1.234,56 € - Euro after, period thousands
UK Format
£1,234.56
£1,234.56 - Pound before, comma thousands
Japan Format
¥1,235
¥1,235 - Yen before, no decimals typically

Use Cases

E-commerce Price
$1,234.56
Product pricing display
Invoice Total
1,234.56 US dollars
Full currency name for formal documents
Dashboard Summary
$1.2M
Compact format for dashboards
Financial Report
+$1,234.56
Always show sign for financial data
🇺🇸$
USD
US Dollar
🇪🇺
EUR
Euro
🇬🇧£
GBP
British Pound
🇯🇵¥
JPY
Japanese Yen
🇨🇳¥
CNY
Chinese Yuan
🇮🇳
INR
Indian Rupee
🇰🇷
KRW
Korean Won
🇧🇷R$
BRL
Brazilian Real
🇨🇦C$
CAD
Canadian Dollar
🇦🇺A$
AUD
Australian Dollar
🇨🇭CHF
CHF
Swiss Franc
🇦🇪د.إ
AED
UAE Dirham

✅ Do

  • • Use Intl.NumberFormat API
  • • Respect regional formats
  • • Show currency codes for clarity
  • • Handle zero/null values gracefully

❌ Don't

  • • Hardcode currency symbols
  • • Assume decimal places
  • • Mix different currencies
  • • Ignore negative number formats

💡 Tips

  • • Use compact notation for large numbers
  • • Consider accounting formats for finance
  • • Test with different locales
  • • Handle currency conversion clearly

BASIC FORMAT

new Intl.NumberFormat('en-US', {
  style: 'currency',
  currency: 'USD'
}).format(1234.56)

OPTIONS

{
  minimumFractionDigits: 2,
  currencyDisplay: 'symbol',
  signDisplay: 'auto'
}

COMPACT

{
  notation: 'compact',
  compactDisplay: 'short'
}
// $1.2K

ERROR HANDLING

try {
  return formatter.format(amount);
} catch (e) {
  return 'Invalid currency';
}