EUR — Euro
fiatDeveloper Note
Used by 21 EU member states plus several non-EU territories. Bulgaria adopted EUR on 1 January 2026. Symbol position and spacing varies by locale.
Verified 2026-07-19. Primary source
How to implement EUR safely
Euro uses ISO 4217 alpha code EUR and numeric code 978.
EUR appears in the current ISO 4217 list published 2026-01-01. EUR has ISO minor unit 2, so one major unit divides into 100 minor units. Configure Intl.NumberFormat with currency: "EUR"; do not hardcode the symbol or assume every currency uses two decimals.
€ is the reference symbol in this dataset. Store EUR 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 EUR with 25 countries or territories (DE, FR, IT, ES, NL, BE, AT, PT, FI, IE, GR, SK, SI, LU, MT, CY, EE, LV, LT, HR, BG, AD, MC, SM, VA). 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-07-19; recheck status-sensitive records when the Maintenance Agency publishes a new list.
- Status: active
- Numeric code: 978
- ISO minor unit: 2
- Verified: 2026-07-19
Reviewed 19 July 2026. Sources: SIX ISO 4217 current list · Currency status source
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 EUR formatting
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'EUR',
}).format(1234.56);
// → "€1,234.56"
// Minimum/maximum fraction digits
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'EUR',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}).format(99);
// Example display precision: 2 decimal places
// ISO 4217 minor unit: 2
// Integer minor-unit storage
// EUR amount = value × 100Countries Using EUR
Germany
de-DE
France
fr-FR
Italy
it-IT
Spain
es-ES
Netherlands
nl-NL
Belgium
fr-BE
Austria
de-AT
Portugal
pt-PT
Finland
fi-FI
Ireland
en-IE
Greece
el-GR
Bulgaria
bg-BG
Slovakia
sk-SK
Slovenia
sl-SI
Croatia
hr-HR
Luxembourg
fr-LU
Lithuania
lt-LT
Latvia
lv-LV
Estonia
et-EE
Malta
mt-MT
Cyprus
el-CY
Continue 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.