India Number Format
Try It โ Live Preview
Format Rules
India formatting implementation notes
For India, format numbers with the explicit locale en-IN; the reference value 1234567.89 renders as 12,34,567.89.
India's reference format uses "." as the decimal mark and comma (",") for grouping. The integer uses Indian 3-then-2 grouping, so digits group as lakh/crore values rather than repeating groups of three. Pass "en-IN" directly to Intl.NumberFormat instead of replacing punctuation in a preformatted string.
INR is shown with โน immediately before the amount; the same reference value renders as โน12,34,567.89. The percent sign appears immediately after the amount. Use the ISO currency code for storage and interchange because a visible symbol can be shared by unrelated currencies.
Western 0โ9 digits are the page's reference digit system, and the negative pattern is -n. This country is multilingual in software contexts: also test hi-IN, because language selection can change spacing, punctuation, and currency display without changing the region. Validate output with formatToParts() when spacing, signs, or bidirectional literals affect the interface.
- Locale: en-IN
- Decimal and grouping: 12,34,567.89
- Currency: INR โ โน12,34,567.89
- Digits: Western 0โ9 digits
Reviewed 19 July 2026. Sources: Unicode locale number formats ยท Intl.NumberFormat reference
What's different here
- The integer uses Indian 3-then-2 grouping (en-US uses repeating groups of three).
- Uses the same number pattern (decimal mark, grouping, symbol and percent placement) as Pakistan and Bangladesh.
- Nearby differences: Singapore (en-SG) uses repeating groups of three instead of Indian 3-then-2 grouping; Japan (ja-JP) uses repeating groups of three instead of Indian 3-then-2 grouping; China (zh-CN) uses repeating groups of three instead of Indian 3-then-2 grouping; Hong Kong (zh-HK) uses repeating groups of three instead of Indian 3-then-2 grouping.
- Currency: INR has ISO minor unit 2.
- With 3-then-2 grouping the reference value renders as 12,34,567.89, so don't reuse a fixed "every three digits" mask.
- Postal address order: name โ building โ street number + street โ district โ city + postcode โ region โ country. See address formats.
Reference value 1234567.89 in each locale
| Locale | Output |
|---|---|
| en-IN | 12,34,567.89 |
| hi-IN | 12,34,567.89 |
Rendered with the platform's CLDR data at build time.
Code Examples
// Basic number
new Intl.NumberFormat('en-IN').format(1234567.89)
// โ "12,34,567.89"
// Currency
new Intl.NumberFormat('en-IN', {
style: 'currency',
currency: 'INR'
}).format(1234567.89)
// โ "โน12,34,567.89"
// Percentage
new Intl.NumberFormat('en-IN', {
style: 'percent',
minimumFractionDigits: 1
}).format(0.125)
// Compact notation
new Intl.NumberFormat('en-IN', {
notation: 'compact'
}).format(1234567)Negative Number Formats
new Intl.NumberFormat('en-IN').format(-1234567.89)new Intl.NumberFormat('en-IN', { style: 'currency', currency: 'INR', currencySign: 'accounting' }).format(-1234567.89)Edge Cases & Notes
CRITICAL: Indian grouping system โ rightmost group = 3 digits, then groups of 2. 1,000,000 = 10,00,000 (ten lakh). 10,000,000 = 1,00,00,000 (one crore). Intl.NumberFormat('en-IN') handles this natively.
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.
Currency reference
ISO 4217 codes, symbols, minor units, and implementation examples.
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.
