BGN — Bulgarian Lev (replaced by EUR in 2026)
fiathistoricalDeveloper Note
Bulgaria adopted EUR on 1 January 2026 at the official conversion rate of 1.95583 lev per euro.
Verified 2026-07-19. Primary source
How to implement BGN safely
Bulgarian Lev uses ISO 4217 alpha code BGN and numeric code 975.
BGN is historical and was superseded by EUR. Do not offer it for new transactions; retain it only for dated records, migrations, and archival display. BGN has ISO minor unit 2, so one major unit divides into 100 minor units. Configure Intl.NumberFormat with currency: "BGN"; do not hardcode the symbol or assume every currency uses two decimals.
лв. is the reference symbol in this dataset. Store BGN 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.
BGN is a supranational or special-purpose unit and has no single country assignment in this directory. 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: historical
- Numeric code: 975
- ISO minor unit: 2
- Verified: 2026-07-19
Reviewed 19 July 2026. Sources: SIX ISO 4217 historical list · Currency status source
Formatting Examples
| Value | en-US |
|---|---|
| 1 | BGN 1.00 |
| 9.99 | BGN 9.99 |
| 100 | BGN 100.00 |
| 1234.56 | BGN 1,234.56 |
| 1000000 | BGN 1,000,000.00 |
Intl.NumberFormat
// Basic BGN formatting
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'BGN',
}).format(1234.56);
// → "BGN 1,234.56"
// Minimum/maximum fraction digits
new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'BGN',
minimumFractionDigits: 2,
maximumFractionDigits: 2,
}).format(99);
// Example display precision: 2 decimal places
// ISO 4217 minor unit: 2
// Integer minor-unit storage
// BGN 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.