Locale Converter & Analyzer for US Devs
Convert, parse, and compare locale strings. See real-time preview of number, currency, and date formats for American English and global locales.
Popular Locales
Try Common Inputs
Invalid locale identifier. Please enter a valid BCP 47 locale tag.
Browser Support
Parsed Locale Info
Format Alternatives
Resolved Locales
Fallback Chain
Display Names
Data Preview
Number Formatting
Currency Formatting
Date & Time
Relative Time
List Formatting
Collation
Compare how two different locales format the same data side by side.
How to Use
-
1
Paste Any Locale String
Start with browser locales, POSIX values like en_US.UTF-8, script tags like zh_Hans_CN, or an Accept-Language header.
-
2
Normalize The Tag
The tool canonicalizes the value into a BCP 47 locale and shows matching POSIX, HTML lang, and Intl snippets.
-
3
Copy The Right Format
Use the output block that fits your use case: web markup, JavaScript Intl, environment variables, or QA docs.
-
4
Compare Output Differences
Switch to compare mode to inspect how two locales differ for numbers, currency, dates, and collation behavior.
Why Use Be Converter?
Browser Native
Powered by built-in Intl APIs. No server calls, no external dependencies. Works offline and respects your privacy.
Real-time Preview
Instantly see how numbers, dates, currencies, and lists are formatted in any locale as you type.
Normalize Real Inputs
Paste POSIX locales, ICU-style underscores, or Accept-Language headers and turn them into clean BCP 47 and HTML-ready locale strings.
Comprehensive Analysis
Parse locale components, show display names in multiple languages, and compare two locales side by side.
Perfect For
Frequently Asked Questions
What is a locale identifier?
What is the difference between BCP 47 and POSIX locale formats?
How does this tool work without a server?
Why do some locales show different results across browsers?
What does "resolved locale" mean?
Common Locale Conversion Examples
These are the most common locale-string cleanup tasks developers and localization teams search for when they need a locale converter online.
en_US.UTF-8
en-US
Convert Unix-style locale environment values into a BCP 47 tag you can use in frontend code.
zh_Hans_CN
zh-Hans-CN
Normalize script subtags with the casing web platforms expect.
sr_RS@latin
sr-Latn-RS
Translate a POSIX modifier into a script-aware locale tag for product localization.
Accept-Language: fr-CA,fr;q=0.9
fr-CA
Extract the preferred locale from a browser header before routing or formatting content.
Understanding Locale Identifiers
BCP 47 Structure
A BCP 47 language tag consists of subtags separated by hyphens: language (required), script (optional), region (optional), and variants. For a US user, 'en-Latn-US' represents English, Latin script, in the United States.
- • Language only
en, es, fr - • Language + Region
en-US, en-CA, es-MX - • Language + Script
zh-Hans, sr-Latn - • Full tag
en-Latn-US, zh-Hans-CN
Intl API in Practice
The JavaScript Intl API provides locale-aware formatting for numbers, dates, and lists. Use Intl.Locale to parse identifiers, Intl.DisplayNames to get names, and Intl.NumberFormat/DateTimeFormat for presentation.
- •
Intl.getCanonicalLocales(["pt-br"])- canonicalize - •
new Intl.Locale("zh-Hans-CN")— parse - •
Intl.DisplayNames— display names - •
Intl.NumberFormat— numbers - •
Intl.DateTimeFormat— dates
Best Practice: Always use the most specific locale tag available. For US applications, ensure you explicitly support 'en-US' rather than relying on generic 'en' to guarantee the correct date and currency formats appear for American users.