IN · IND
India languages and locale codes
Official or primary languages with practical BCP 47 locale recommendations.
BCP 47
Languages and locale codes
| Language | Code | Recommended locale | Status |
|---|---|---|---|
| Hindi | Official | ||
| English | Official | ||
| Bangla | Regional official | ||
| Telugu | Regional official | ||
| Marathi | Regional official | ||
| Tamil | Regional official | ||
| Urdu | Regional official | ||
| Gujarati | Regional official | ||
| Kannada | Regional official | ||
| Malayalam | Regional official | ||
| Odia | Regional official | ||
| Punjabi | Regional official | ||
| Assamese | Regional official | ||
| Maithili | Regional official | ||
| Nepali | Regional official | ||
| Santali | Regional official | ||
| Kashmiri | Regional official | ||
| Konkani | Regional official | ||
| Sindhi | Regional official | ||
| Khasi | Regional official | ||
| Sanskrit | Regional official |
Use a India locale in a product
When content is written in Hindi, use the lang tag below to describe the text. The Intl locale selects regional formatting. This is one example from the table, not a claim about every visitor's language preference.
<html lang="hi">
new Intl.NumberFormat("hi-IN").format(1234567.89);Compare number and date formatting
These examples use 1234567.89 and the fixed instant 2026-01-15T13:45:00Z, with dates displayed in UTC. Intl computes the results when this site is built; your browser and locale-data version may differ. Unsupported tags are identified instead of showing default-language output.
| Locale | Number | Date | Currency |
|---|---|---|---|
hi-IN | 12,34,567.89 | 15 जनवरी 2026 | INR: ₹1,234.50 |
en-IN | 12,34,567.89 | 15 January 2026 | INR: ₹1,234.50 |
bn-IN | ১২,৩৪,৫৬৭.৮৯ | ১৫ জানুয়ারি, ২০২৬ | INR: ₹১,২৩৪.৫০ |
te-IN | 12,34,567.89 | 15 జనవరి, 2026 | INR: ₹1,234.50 |
mr-IN | १२,३४,५६७.८९ | १५ जानेवारी, २०२६ | INR: ₹१,२३४.५० |
ta-IN | 12,34,567.89 | 15 ஜனவரி, 2026 | INR: ₹1,234.50 |
ur-IN | ۱٬۲۳۴٬۵۶۷٫۸۹ | ۱۵ جنوری، ۲۰۲۶ | INR: ₹۱٬۲۳۴٫۵۰ |
gu-IN | 12,34,567.89 | 15 જાન્યુઆરી, 2026 | INR: ₹1,234.50 |
kn-IN | 1,234,567.89 | ಜನವರಿ 15, 2026 | INR: ₹1,234.50 |
ml-IN | 12,34,567.89 | 2026 ജനുവരി 15 | INR: ₹1,234.50 |
or-IN | 12,34,567.89 | ଜାନୁଆରୀ 15, 2026 | INR: ₹1,234.50 |
pa-IN | 12,34,567.89 | 15 ਜਨਵਰੀ 2026 | INR: ₹1,234.50 |
as-IN | ১২,৩৪,৫৬৭.৮৯ | ১৫ জানুৱাৰী, ২০২৬ | INR: ₹ ১,২৩৪.৫০ |
mai-IN | 1,234,567.89 | 15 जनवरी 2026 | INR: ₹ 1,234.50 |
ne-IN | १२,३४,५६७.८९ | २०२६ जनवरी १५ | INR: ₹ १,२३४.५० |
sat-IN | ᱑,᱒᱓᱔,᱕᱖᱗.᱘᱙ | ᱑᱕ ᱡᱟᱱᱣᱟᱨᱤ ᱒᱐᱒᱖ | INR: ₹ ᱑,᱒᱓᱔.᱕᱐ |
ks-IN | ۱٬۲۳۴٬۵۶۷٫۸۹ | جنؤری ۱۵, ۲۰۲۶ | INR: ₹۱٬۲۳۴٫۵۰ |
kok-IN | 12,34,567.89 | 15 जानेवारी 2026 | INR: ₹1,234.50 |
sd-Deva-IN | 1,234,567.89 | जनवरी 15, 2026 | INR: ₹ 1,234.50 |
kha-IN | Unsupported in this build | Unsupported in this build | INR: Unsupported in this build |
sa-IN | १२,३४,५६७.८९ | १५ जनवरीमासः २०२६ | INR: ₹१,२३४.५० |
Currency examples use the fixed value 1234.5. SIX and CLDR snapshot: 2026-09-26. Specify each currency explicitly; formatting is not an exchange rate.
new Intl.NumberFormat("hi-IN", { style: "currency", currency: "INR" }).format(1234.5);Before adopting a tag, run Intl.NumberFormat.supportedLocalesOf() and Intl.DateTimeFormat.supportedLocalesOf() in your target runtime. A locale does not select a time zone or translate interface text; specify currency explicitly when formatting money.
Data provenance
Sources
- ISO 3166-1 country codes
- Unicode CLDR territory information
- SIX: ISO 4217 List One
- Unicode CLDR 48 currency territory data
Data snapshot: 2026-09-26