All 136 Supported Locales
Use this directory when you need the exact locale code, currency setup, or feature coverage before wiring to-words into a real product. The table below is generated from the library's source locale registry, so it stays aligned with the package rather than drifting from it.
Choosing The Right Locale
- Use the full bundle when the locale can change at runtime:
toWords(123, { localeCode: 'fr-FR' }) - Use per-locale imports when bundle size matters:
import { toWords } from 'to-words/hi-IN' - Prefer a region-specific code when currency names matter:
es-ESandes-MXboth speak Spanish, but they spell money differently - For legal or banking output, check the
FractionandFormalcolumns before assuming the locale supports them
Language Guide Pages
These are dedicated language guides covering every supported language. Each guide includes code examples, currency setup, and ordinal usage.
| Language | Guide | Locale codes covered |
|---|---|---|
| Afrikaans | afrikaans | af-ZA |
| Albanian | albanian | sq-AL |
| Amharic | amharic | am-ET |
| Arabic | arabic | ar-AE, ar-DZ, ar-EG, ar-IQ, ar-LB, ar-MA, ar-SA, ar-SD, ar-YE |
| Assamese | assamese | as-IN |
| Azerbaijani | azerbaijani | az-AZ |
| Belarusian | belarusian | be-BY |
| Bengali | bengali | bn-BD, bn-IN |
| Bulgarian | bulgarian | bg-BG |
| Burmese | burmese | my-MM |
| Catalan | catalan | ca-ES |
| Chinese | chinese | yue-HK, zh-CN, zh-TW |
| Croatian | croatian | hr-HR |
| Czech | czech | cs-CZ |
| Danish | danish | da-DK |
| Dutch | dutch | nl-NL, nl-SR |
| English | english | en-AE, en-AU, en-BD, en-CA, en-GB, en-GH, en-HK, en-IE, en-IN, en-IQ, en-JM, en-KE, en-LK, en-MA, en-MM, en-MU, en-MY, en-NG, en-NP, en-NZ, en-OM, en-PH, en-PK, en-SA, en-SG, en-TT, en-TZ, en-UG, en-US, en-ZA, en-ZW |
| Estonian | estonian | et-EE |
| Filipino | filipino | fil-PH |
| Finnish | finnish | fi-FI |
| French | french | fr-BE, fr-CA, fr-CH, fr-CI, fr-CM, fr-DZ, fr-FR, fr-MA, fr-MG, fr-SA |
| Georgian | georgian | ka-GE |
| German | german | de-AT, de-CH, de-DE |
| Greek | greek | el-GR |
| Gujarati | gujarati | gu-IN |
| Hausa | hausa | ha-NG |
| Hebrew | hebrew | he-IL, hbo-IL |
| Hindi | hindi | hi-IN |
| Hungarian | hungarian | hu-HU |
| Icelandic | icelandic | is-IS |
| Igbo | igbo | ig-NG |
| Indonesian / Javanese | indonesian | id-ID, jv-ID |
| Italian | italian | it-IT |
| Japanese | japanese | ja-JP |
| Kannada | kannada | kn-IN |
| Khmer | khmer | km-KH |
| Korean | korean | ko-KR |
| Latvian | latvian | lv-LV |
| Lao | lao | lo-LA |
| Lithuanian | lithuanian | lt-LT |
| Malay | malay | ms-MY, ms-SG |
| Malayalam | malayalam | ml-IN |
| Marathi | marathi | mr-IN |
| Nepali | nepali | ne-NP |
| Norwegian | norwegian | nb-NO |
| Odia | odia | or-IN |
| Persian | persian | fa-IR |
| Polish | polish | pl-PL |
| Portuguese | portuguese | pt-AO, pt-BR, pt-MZ, pt-PT |
| Punjabi | punjabi | pa-IN |
| Romanian | romanian | ro-RO |
| Russian | russian | ru-RU |
| Serbian | serbian | sr-RS |
| Sinhala | sinhala | si-LK |
| Slovak | slovak | sk-SK |
| Slovenian | slovenian | sl-SI |
| Spanish | spanish | es-AR, es-CL, es-CO, es-ES, es-MX, es-PE, es-US, es-VE |
| Swahili | swahili | sw-KE, sw-TZ |
| Swedish | swedish | sv-SE |
| Tamil | tamil | ta-IN |
| Telugu | telugu | te-IN |
| Thai | thai | th-TH |
| Turkish | turkish | tr-TR |
| Ukrainian | ukrainian | uk-UA |
| Urdu | urdu | ur-PK |
| Uzbek | uzbek | uz-UZ |
| Vietnamese | vietnamese | vi-VN |
| Yoruba | yoruba | yo-NG |
| Zulu | zulu | zu-ZA |
How The Directory Is Ordered
- Primary sort: language name
- Secondary sort: country name
- Tie-breaker: locale code
This ordering is optimized for scanning by language family rather than by BCP-47 code.
Locale Directory
| Locale | Language | Currency | Numbering | Ordinal | Gender | Fraction | Formal |
|---|---|---|---|---|---|---|---|
🇿🇦 af-ZA | Afrikaans South Africa | Rand R | Base thousand | Yes | No | Yes | No |
🇦🇱 sq-AL | Albanian Albania | Lekë L | Base thousand | Yes | No | Yes | No |
🇪🇹 am-ET | Amharic Ethiopia | ብር ETB | Base thousand | Yes | No | No | No |
🇩🇿 ar-DZ | Arabic Algeria | دينار جزائري د.ج | Base thousand | Yes | Yes | No | No |
🇪🇬 ar-EG | Arabic Egypt | جنيه مصري ج.م | Base thousand | Yes | Yes | No | No |
🇮🇶 ar-IQ | Arabic Iraq | دينار عراقي ع.د | Base thousand | Yes | Yes | No | No |
🇱🇧 ar-LB | Arabic Lebanon | ليرات ل.ل | Base thousand | Yes | Yes | No | No |
🇲🇦 ar-MA | Arabic Morocco | درهم د.م. | Base thousand | Yes | Yes | No | No |
🇸🇦 ar-SA | Arabic Saudi Arabia | ريال ر.س | Base thousand | Yes | Yes | No | No |
🇸🇩 ar-SD | Arabic Sudan | جنيه سوداني ج.س | Base thousand | Yes | Yes | No | No |
🇦🇪 ar-AE | Arabic United Arab Emirates | درهم د.إ | Base thousand | Yes | Yes | No | No |
🇾🇪 ar-YE | Arabic Yemen | ريال يمني ر.ي | Base thousand | Yes | Yes | No | No |
🇮🇳 as-IN | Assamese India | টকা ₹ | Indian | Yes | No | Yes | No |
🇦🇿 az-AZ | Azerbaijani Azerbaijan | Manat ₼ | Base thousand | Yes | No | No | No |
🇧🇾 be-BY | Belarusian Belarus | Рублёў Br | Base thousand | Yes | Yes | Yes | No |
🇧🇩 bn-BD | Bengali Bangladesh | টাকা ৳ | Indian | Yes | No | Yes | No |
🇮🇳 bn-IN | Bengali India | টাকা ৳ | Indian | Yes | No | Yes | No |
🇮🇱 hbo-IL | Biblical Hebrew Israel | שקלים | Base thousand | Yes | Yes | No | No |
🇧🇬 bg-BG | Bulgarian Bulgaria | Лева лв | Base thousand | Yes | Yes | Yes | No |
🇲🇲 my-MM | Burmese Myanmar (Burma) | ကျပ် K | Locale-specific | Yes | No | No | No |
🇭🇰 yue-HK | Cantonese Hong Kong SAR China | 元 HK$ | East Asian | Yes | No | No | No |
🇪🇸 ca-ES | Catalan Spain | Euros € | Base thousand | Yes | Yes | Yes | No |
🇨🇳 zh-CN | Chinese China | 元 ¥ | East Asian | Yes | No | No | Yes |
🇹🇼 zh-TW | Chinese Taiwan | 元 NT$ | East Asian | Yes | No | No | Yes |
🇭🇷 hr-HR | Croatian Croatia | Eura € | Base thousand | Yes | Yes | Yes | No |
🇨🇿 cs-CZ | Czech Czechia | Korun Kč | Base thousand | Yes | Yes | Yes | No |
🇩🇰 da-DK | Danish Denmark | Kroner kr | Base thousand | Yes | No | Yes | No |
🇳🇱 nl-NL | Dutch Netherlands | Euro € | Base thousand | Yes | No | Yes | No |
🇸🇷 nl-SR | Dutch Suriname | Surinaamse dollars SRD | Base thousand | Yes | No | Yes | No |
🇦🇺 en-AU | English Australia | Australian Dollars $ | Base thousand | Yes | No | Yes | No |
🇧🇩 en-BD | English Bangladesh | Taka ৳ | Indian | Yes | No | Yes | No |
🇨🇦 en-CA | English Canada | Canadian Dollars C$ | Base thousand | Yes | No | Yes | No |
🇬🇭 en-GH | English Ghana | Cedis GH¢ | Base thousand | Yes | No | Yes | No |
🇭🇰 en-HK | English Hong Kong SAR China | Dollars HK$ | Base thousand | Yes | No | Yes | No |
🇮🇳 en-IN | English India | Rupees ₹ | Indian | Yes | No | Yes | No |
🇮🇶 en-IQ | English Iraq | Iraqi Dinars IQD | Base thousand | Yes | No | Yes | No |
🇮🇪 en-IE | English Ireland | Euros € | Base thousand | Yes | No | Yes | No |
🇯🇲 en-JM | English Jamaica | Dollars J$ | Base thousand | Yes | No | Yes | No |
🇰🇪 en-KE | English Kenya | Shillings KSh | Base thousand | Yes | No | Yes | No |
🇲🇾 en-MY | English Malaysia | Ringgit RM | Base thousand | Yes | No | Yes | No |
🇲🇺 en-MU | English Mauritius | Rupees Rs | Indian | Yes | No | Yes | No |
🇲🇦 en-MA | English Morocco | Dirhams MAD | Base thousand | Yes | No | Yes | No |
🇲🇲 en-MM | English Myanmar (Burma) | Kyats K | Base thousand | Yes | No | Yes | No |
🇳🇵 en-NP | English Nepal | Rupees Rs | Indian | Yes | No | Yes | No |
🇳🇿 en-NZ | English New Zealand | New Zealand Dollars NZ$ | Base thousand | Yes | No | Yes | No |
🇳🇬 en-NG | English Nigeria | Naira ₦ | Base thousand | Yes | No | Yes | No |
🇴🇲 en-OM | English Oman | Omani Rials OMR | Base thousand | Yes | No | Yes | No |
🇵🇰 en-PK | English Pakistan | Rupees ₨ | Indian | Yes | No | Yes | No |
🇵🇭 en-PH | English Philippines | Pesos ₱ | Base thousand | Yes | No | Yes | No |
🇸🇦 en-SA | English Saudi Arabia | Riyals SAR | Base thousand | Yes | No | Yes | No |
🇸🇬 en-SG | English Singapore | Dollars S$ | Base thousand | Yes | No | Yes | No |
🇿🇦 en-ZA | English South Africa | Rand R | Base thousand | Yes | No | Yes | No |
🇱🇰 en-LK | English Sri Lanka | Rupees Rs | Base thousand | Yes | No | Yes | No |
🇹🇿 en-TZ | English Tanzania | Shillings TSh | Base thousand | Yes | No | Yes | No |
🇹🇹 en-TT | English Trinidad & Tobago | Dollars TT$ | Base thousand | Yes | No | Yes | No |
🇺🇬 en-UG | English Uganda | Shillings USh | Base thousand | Yes | No | Yes | No |
🇦🇪 en-AE | English United Arab Emirates | Dirhams | Base thousand | Yes | No | Yes | No |
🇬🇧 en-GB | English United Kingdom | Pounds £ | Base thousand | Yes | No | Yes | No |
🇺🇸 en-US | English United States | Dollars $ | Base thousand | Yes | No | Yes | No |
🇿🇼 en-ZW | English Zimbabwe | Zimbabwe Gold ZiG | Base thousand | Yes | No | Yes | No |
🇪🇪 et-EE | Estonian Estonia | Eurot € | Base thousand | Yes | No | No | No |
🇵🇭 fil-PH | Filipino Philippines | Piso ₱ | Base thousand | Yes | No | No | No |
🇫🇮 fi-FI | Finnish Finland | Euroa € | Base thousand | Yes | No | No | No |
🇩🇿 fr-DZ | French Algeria | Dinars DZD | Base thousand | Yes | No | Yes | No |
🇧🇪 fr-BE | French Belgium | Euros € | Base thousand | Yes | No | Yes | No |
🇨🇲 fr-CM | French Cameroon | Francs CFA XAF | Base thousand | Yes | No | Yes | No |
🇨🇦 fr-CA | French Canada | Dollars $ | Base thousand | Yes | No | Yes | No |
🇨🇮 fr-CI | French Côte d’Ivoire | Francs CFA XOF | Base thousand | Yes | No | Yes | No |
🇫🇷 fr-FR | French France | Euros € | Base thousand | Yes | No | Yes | No |
🇲🇬 fr-MG | French Madagascar | Ariary MGA | Base thousand | Yes | No | Yes | No |
🇲🇦 fr-MA | French Morocco | Dirhams MAD | Base thousand | Yes | No | Yes | No |
🇸🇦 fr-SA | French Saudi Arabia | Riyals SAR | Base thousand | Yes | No | Yes | No |
🇨🇭 fr-CH | French Switzerland | Francs CHF | Base thousand | Yes | No | Yes | No |
🇬🇪 ka-GE | Georgian Georgia | ლარი ₾ | Base thousand | Yes | No | Yes | No |
🇦🇹 de-AT | German Austria | Euro € | Base thousand | Yes | No | Yes | No |
🇩🇪 de-DE | German Germany | Euro € | Base thousand | Yes | No | Yes | No |
🇨🇭 de-CH | German Switzerland | Franken CHF | Base thousand | Yes | No | Yes | No |
🇬🇷 el-GR | Greek Greece | Ευρώ € | Base thousand | Yes | No | Yes | No |
🇮🇳 gu-IN | Gujarati India | રૂપિયા ₹ | Indian | Yes | No | Yes | No |
🇳🇬 ha-NG | Hausa Nigeria | Naira ₦ | Base thousand | Yes | No | No | No |
🇮🇱 he-IL | Hebrew Israel | שקלים ₪ | Base thousand | Yes | Yes | Yes | No |
🇮🇳 hi-IN | Hindi India | रुपये ₹ | Indian | Yes | No | Yes | No |
🇭🇺 hu-HU | Hungarian Hungary | Forint Ft | Base thousand | Yes | No | Yes | No |
🇮🇸 is-IS | Icelandic Iceland | Krónur kr | Base thousand | Yes | No | No | No |
🇳🇬 ig-NG | Igbo Nigeria | Naira ₦ | Base thousand | Yes | No | No | No |
🇮🇩 id-ID | Indonesian Indonesia | Rupiah Rp | Base thousand | Yes | No | Yes | No |
🇮🇹 it-IT | Italian Italy | Euro € | Base thousand | Yes | No | Yes | No |
🇯🇵 ja-JP | Japanese Japan | 円 ¥ | East Asian | Yes | No | No | No |
🇮🇩 jv-ID | Javanese Indonesia | Rupiah Rp | Base thousand | Yes | No | No | No |
🇮🇳 kn-IN | Kannada India | ರೂಪಾಯಿಗಳು ₹ | Indian | Yes | No | Yes | No |
🇰🇭 km-KH | Khmer Cambodia | រៀល ៛ | Locale-specific | Yes | No | No | No |
🇰🇷 ko-KR | Korean South Korea | 원 | East Asian | Yes | No | No | No |
🇱🇦 lo-LA | Lao Laos | ກີບ ₭ | Locale-specific | Yes | No | No | No |
🇱🇻 lv-LV | Latvian Latvia | eiro € | Base thousand | Yes | Yes | Yes | No |
🇱🇹 lt-LT | Lithuanian Lithuania | Eurų € | Base thousand | Yes | Yes | No | No |
🇲🇾 ms-MY | Malay Malaysia | Ringgit RM | Base thousand | Yes | No | Yes | No |
🇸🇬 ms-SG | Malay Singapore | Dolar S$ | Base thousand | Yes | No | Yes | No |
🇮🇳 ml-IN | Malayalam India | രൂപ ₹ | Indian | Yes | No | Yes | No |
🇮🇳 mr-IN | Marathi India | रुपये ₹ | Indian | Yes | No | Yes | No |
🇳🇵 ne-NP | Nepali Nepal | रुपैयाँ रु | Indian | Yes | No | Yes | No |
🇳🇴 nb-NO | Norwegian Bokmål Norway | Kroner kr | Base thousand | Yes | No | Yes | No |
🇮🇳 or-IN | Odia India | ଟଙ୍କା ₹ | Indian | Yes | No | Yes | No |
🇮🇷 fa-IR | Persian Iran | تومان | Base thousand | Yes | No | Yes | No |
🇵🇱 pl-PL | Polish Poland | Złotych zł | Base thousand | Yes | Yes | Yes | No |
🇦🇴 pt-AO | Portuguese Angola | Kwanzas Kz | Base thousand | Yes | Yes | Yes | No |
🇧🇷 pt-BR | Portuguese Brazil | Reais R$ | Base thousand | Yes | Yes | Yes | No |
🇲🇿 pt-MZ | Portuguese Mozambique | Meticais MT | Base thousand | Yes | Yes | Yes | No |
🇵🇹 pt-PT | Portuguese Portugal | Euros € | Base thousand | Yes | Yes | Yes | No |
🇮🇳 pa-IN | Punjabi India | ਰੁਪਏ ₹ | Indian | Yes | No | Yes | No |
🇷🇴 ro-RO | Romanian Romania | Lei lei | Base thousand | Yes | Yes | Yes | No |
🇷🇺 ru-RU | Russian Russia | Рублей ₽ | Base thousand | Yes | Yes | Yes | No |
🇷🇸 sr-RS | Serbian Serbia | Dinara RSD | Base thousand | Yes | Yes | Yes | No |
🇱🇰 si-LK | Sinhala Sri Lanka | රුපියල රු | Locale-specific | Yes | No | No | No |
🇸🇰 sk-SK | Slovak Slovakia | Eur € | Base thousand | Yes | Yes | Yes | No |
🇸🇮 sl-SI | Slovenian Slovenia | Evrov € | Base thousand | Yes | Yes | Yes | No |
🇦🇷 es-AR | Spanish Argentina | Pesos Argentinos $ | Base thousand | Yes | Yes | Yes | No |
🇨🇱 es-CL | Spanish Chile | Pesos Chilenos $ | Base thousand | Yes | Yes | Yes | No |
🇨🇴 es-CO | Spanish Colombia | Pesos Colombianos $ | Base thousand | Yes | Yes | Yes | No |
🇲🇽 es-MX | Spanish Mexico | Pesos Mexicanos $ | Base thousand | Yes | Yes | Yes | No |
🇵🇪 es-PE | Spanish Peru | Soles S/. | Base thousand | Yes | Yes | Yes | No |
🇪🇸 es-ES | Spanish Spain | Euros € | Base thousand | Yes | Yes | Yes | No |
🇺🇸 es-US | Spanish United States | Dólares Estadounidenses $ | Base thousand | Yes | Yes | Yes | No |
🇻🇪 es-VE | Spanish Venezuela | Bolívares Bs. | Base thousand | Yes | Yes | Yes | No |
🇰🇪 sw-KE | Swahili Kenya | Shilingi KSh | Base thousand | Yes | No | No | No |
🇹🇿 sw-TZ | Swahili Tanzania | Shilingi TSh | Base thousand | Yes | No | No | No |
🇸🇪 sv-SE | Swedish Sweden | Kronor kr | Base thousand | Yes | No | Yes | No |
🇮🇳 ta-IN | Tamil India | ரூபாய் ₹ | Indian | Yes | No | Yes | No |
🇮🇳 te-IN | Telugu India | రూపాయలు ₹ | Indian | Yes | No | Yes | No |
🇹🇭 th-TH | Thai Thailand | บาท ฿ | Locale-specific | Yes | No | No | No |
🇹🇷 tr-TR | Turkish Türkiye | ₺ | Base thousand | Yes | No | No | No |
🇺🇦 uk-UA | Ukrainian Ukraine | Гривень ₴ | Base thousand | Yes | Yes | Yes | No |
🇵🇰 ur-PK | Urdu Pakistan | روپے ₨ | Indian | Yes | No | Yes | No |
🇺🇿 uz-UZ | Uzbek Uzbekistan | So'm UZS | Base thousand | Yes | No | No | No |
🇻🇳 vi-VN | Vietnamese Vietnam | Đồng ₫ | Base thousand | Yes | No | Yes | No |
🇳🇬 yo-NG | Yoruba Nigeria | Naira ₦ | Base thousand | Yes | No | No | No |
🇿🇦 zu-ZA | Zulu South Africa | Rand R | Base thousand | Yes | No | No | No |