Locale Converter Online: BCP 47 & POSIX Formatter
Convert and normalise locale strings instantly. Preview number (lakh/crore), date, and currency formatting with side-by-side comparison for Indian and global…
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—useful for checking display differences between en-IN and en-US.
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
Normalise The Tag
The tool canonicalises 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 behaviour.
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 (like ₹), and lists are formatted in any locale as you type.
Normalise 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 (Hindi, Tamil, etc.), 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 localisation 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
Normalise 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 localisation.
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. Common Indian examples include:
- • Language only
en, hi, te, mr - • Language + Region
en-IN, hi-IN, kn-IN - • Language + Script
zh-Hans, sr-Latn - • Full tag
en-Latn-IN, zh-Hans-CN
Intl API in Practice
The JavaScript Intl API family provides locale-aware formatting for numbers (including lakh/crore systems), dates, and lists. Use Intl.Locale to parse identifiers and Intl.NumberFormat to display currency correctly (e.g., ₹).
- •
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 for your target audience. For Indian users, specifically use en-IN or hi-IN to ensure number and date formats align with local expectations.