USD โ United States Dollar
fiatDeveloper Note
World reserve currency. Used in many dollarized economies.
Verified 2026-09-27. Primary source
How to implement USD safely
US Dollar uses ISO 4217 alpha code USD and numeric code 840.
USD appears in the current ISO 4217 list published 2026-09-17. USD has ISO minor unit 2, so one major unit divides into 100 minor units. Configure Intl.NumberFormat with currency: "USD"; do not hardcode the symbol or assume every currency uses two decimals.
$ is the reference symbol in this dataset. Store USD alongside the amount so exports, payments, and accounting data remain unambiguous. Format for display only after choosing the user's locale, because symbol placement and separators belong to the locale rather than the currency record.
This site's coverage associates USD with 10 countries or territories (US, EC, SV, PA, PR, GU, VI, TC, BQ, TL). Region and language still need separate locale selection; the currency code alone does not choose punctuation or digit shapes. The record was checked against the SIX ISO 4217 source on 2026-09-27; recheck status-sensitive records when the Maintenance Agency publishes a new list.
- Status: active
- Numeric code: 840
- ISO minor unit: 2
- Verified: 2026-09-27
Reviewed 19 July 2026. Sources: SIX ISO 4217 current list
Common mistakes with USD
- $ is also a symbol of CAD, MXN, ARS, CLP, COP, CUP, SRD, HKD, TWD, SGD, AUD and NZD in this directory. Always pair it with the code USD or a disambiguated symbol.
- In en-US the symbol goes immediately before the amount ($1,234,567.89). Let the locale place it rather than concatenating strings.
- Separators differ between the countries that use USD: en-US $1,234,567.89 vs es-EC $1.234.567,89. Choose the locale from the user, not from the currency.
How to format USD
Pass currency: 'USD' to Intl.NumberFormat and let the locale choose the symbol and separators. en-US prints $1,234.56. Most other locales mark the US dollar as US$, USD or $ US, because their own currency also uses $.
When $ becomes US$ or USD
const usd = (locale) =>
new Intl.NumberFormat(locale, { style: 'currency', currency: 'USD' }).format(1234.56);
usd('en-US'); // โ "$1,234.56"
usd('en-CA'); // โ "US$1,234.56"
usd('en-GB'); // โ "US$1,234.56"
usd('en-AU'); // โ "USDย 1,234.56"
usd('es-MX'); // โ "USDย 1,234.56"
usd('fr-CA'); // โ "1ย 234,56ย $ย US"- Locales choose between
US$,USDand$ US. Don't hard-code one. currencyDisplay: 'narrowSymbol'forces the bare$(en-CAโ"$1,234.56"). Use it only when every amount on screen is USD.
USD outside the United States
This directory lists 10 places that use USD. Four have a locale record. The output column is Intl output for that locale, which matches CLDR.
| Code | Place | Locale in this directory | Intl output for 1234.56 |
|---|---|---|---|
| US | United States | en-US | $1,234.56 |
| EC | Ecuador | es-EC | $1.234,56 |
| SV | El Salvador | es-SV | $1,234.56 |
| PA | Panama | es-PA | USDย 1,234.56 |
| PR | Puerto Rico | โ | โ |
| GU | Guam | โ | โ |
| VI | U.S. Virgin Islands | โ | โ |
| TC | Turks and Caicos Islands | โ | โ |
| BQ | Bonaire, Sint Eustatius and Saba | โ | โ |
| TL | Timor-Leste | โ | โ |
Same currency, different output: Ecuador swaps the separators, and Panama prints the code. Pick the locale from the user, not from the currency.
In Panama itself, both $ and B/. are seen locally.
Negative amounts and accounting style
new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD' }).format(-1234.56);
// โ "-$1,234.56"
new Intl.NumberFormat('en-US', { style: 'currency', currency: 'USD', currencySign: 'accounting' }).format(-1234.56);
// โ "($1,234.56)"
new Intl.NumberFormat('es-EC', { style: 'currency', currency: 'USD', currencySign: 'accounting' }).format(-1234.56);
// โ "$-1.234,56"Accounting style means parentheses in en-US, but es-EC keeps a minus sign. Test every locale you ship.
Q&A
How many decimals does USD use?
Two (ISO 4217 minor unit 2). Store integer cents and format only for display. Intl rounds for display: 0.125 formats as $0.13 in en-US.
Why does my Canadian user see US$?
Because en-CA reserves the bare $ for the Canadian dollar, it marks the US dollar as US$. That's correct. Switch to narrowSymbol only if the screen shows nothing but USD.
Which countries use USD?
This directory covers 10 (table above). The ISO 4217 list names more, including American Samoa, the Marshall Islands, Palau and the British Virgin Islands, so treat the table as this site's coverage, not a complete list.
Does every USD country format numbers like the US?
No. Ecuador (es-EC) uses a comma for decimals and a period for thousands, and Panama (es-PA) shows USD instead of $.
Formatting Examples
| Value | en-US |
|---|---|
| 1 | $1.00 |
| 9.99 | $9.99 |
| 100 | $100.00 |
| 1234.56 | $1,234.56 |
| 1000000 | $1,000,000.00 |
Intl.NumberFormat
// Basic USD formatting
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
}).format(1234.56);
// โ "$1,234.56"
// Minimum/maximum fraction digits
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}).format(99);
// Example display precision: 2 decimal places
// ISO 4217 minor unit: 2
// Integer minor-unit storage
// USD amount = value ร 100Continue your localization implementation
Connect this reference to the format, validation, and testing guidance used elsewhere on the site.
Formatting implementation
Numbers, currencies, dates, time zones, numbering systems, and production tests.
Failure patterns
Hardcoded copy, broken layouts, missing context, bidi, and cultural adaptation.
Standards reference
ISO country, currency, and language codes; BCP 47; E.164; and UPU S42.
Validation coverage
Provider evidence, country test cases, geocoding, deliverability, and phone checks.
Locale-aware numbers
Separators, grouping, currency precision, and Intl.NumberFormat patterns.
Localization testing
Pseudolocalization, test matrices, native review, and regional release gates.
Address and phone standards
UPU S42, E.164, adaptive forms, storage, parsing, and validation.
I18n architecture
Messages, Unicode, RTL, locale services, fallbacks, and delivery workflow.
Address formats
Country templates, field order, and accessible international forms.
Phone formats
E.164 storage, regional display, parsing, and validation.
Compare locales
Inspect the same numeric value across several country formats.
Interactive tools
Try number, address, and phone formatting in your browser.