All 132 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 | ee-EE |
| Filipino | filipino | fil-PH |
| Finnish | finnish | fi-FI |
| French | french | fr-BE, fr-CA, fr-CH, fr-DZ, fr-FR, fr-MA, 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 |
| Lithuanian | lithuanian | lt-LT |
| Malay | malay | ms-MY, ms-SG |
| Malayalam | malayalam | ml-IN |
| Marathi | marathi | mr-IN |
| Nepali | nepali | np-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 | Scale | Ordinal | Gender | Fraction | Formal |
|---|---|---|---|---|---|---|---|
🇿🇦 af-ZA | Afrikaans South Africa | Rand R | Short | Yes | No | Yes | No |
🇦🇱 sq-AL | Albanian Albania | Lekë L | Short | Yes | No | Yes | No |
🇪🇹 am-ET | Amharic Ethiopia | ብር ETB | Short | Yes | No | No | No |
🇩🇿 ar-DZ | Arabic Algeria | دينار جزائري د.ج | Short | Yes | Yes | No | No |
🇪🇬 ar-EG | Arabic Egypt | جنيه مصري ج.م | Short | Yes | Yes | No | No |
🇮🇶 ar-IQ | Arabic Iraq | دينار عراقي ع.د | Short | Yes | Yes | No | No |
🇱🇧 ar-LB | Arabic Lebanon | ليرات ل.ل | Short | Yes | Yes | No | No |
🇲🇦 ar-MA | Arabic Morocco | درهم د.م. | Short | Yes | Yes | No | No |
🇸🇦 ar-SA | Arabic Saudi Arabia | ريال ر.س | Short | Yes | Yes | No | No |
🇸🇩 ar-SD | Arabic Sudan | جنيه سوداني ج.س | Short | Yes | Yes | No | No |
🇦🇪 ar-AE | Arabic United Arab Emirates | درهم د.إ | Short | Yes | Yes | No | No |
🇾🇪 ar-YE | Arabic Yemen | ريال يمني ر.ي | Short | Yes | Yes | No | No |
🇮🇳 as-IN | Assamese India | টকা ₹ | Indian | Yes | No | Yes | No |
🇦🇿 az-AZ | Azerbaijani Azerbaijan | Manat ₼ | Short | Yes | No | No | No |
🇧🇾 be-BY | Belarusian Belarus | Рублёў Br | Short | Yes | Yes | Yes | No |
🇧🇩 bn-BD | Bengali Bangladesh | টাকা ৳ | Short | Yes | No | Yes | No |
🇮🇳 bn-IN | Bengali India | টাকা ৳ | Indian | Yes | No | Yes | No |
🇮🇱 hbo-IL | Biblical Hebrew Israel | שקלים | Short | Yes | Yes | No | No |
🇧🇬 bg-BG | Bulgarian Bulgaria | Лева лв | Short | Yes | Yes | Yes | No |
🇲🇲 my-MM | Burmese Myanmar (Burma) | ကျပ် K | Short | Yes | No | No | No |
🇭🇰 yue-HK | Cantonese Hong Kong SAR China | 元 HK$ | East Asian | Yes | No | No | No |
🇪🇸 ca-ES | Catalan Spain | Euros € | Short | 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 € | Short | Yes | Yes | Yes | No |
🇨🇿 cs-CZ | Czech Czechia | Korun Kč | Short | Yes | Yes | Yes | No |
🇩🇰 da-DK | Danish Denmark | Kroner kr | Short | Yes | No | Yes | No |
🇳🇱 nl-NL | Dutch Netherlands | Euro € | Short | Yes | No | Yes | No |
🇸🇷 nl-SR | Dutch Suriname | Surinaamse dollars SRD | Short | Yes | No | Yes | No |
🇦🇺 en-AU | English Australia | Australian Dollars $ | Short | Yes | No | Yes | No |
🇧🇩 en-BD | English Bangladesh | Taka ৳ | Short | Yes | No | Yes | No |
🇨🇦 en-CA | English Canada | Canadian Dollars C$ | Short | Yes | No | Yes | No |
🇬🇭 en-GH | English Ghana | Cedis GH¢ | Short | Yes | No | Yes | No |
🇭🇰 en-HK | English Hong Kong SAR China | Dollars HK$ | Short | Yes | No | Yes | No |
🇮🇳 en-IN | English India | Rupees ₹ | Indian | Yes | No | Yes | No |
🇮🇶 en-IQ | English Iraq | Iraqi Dinars IQD | Short | Yes | No | Yes | No |
🇮🇪 en-IE | English Ireland | Euros € | Short | Yes | No | Yes | No |
🇯🇲 en-JM | English Jamaica | Dollars J$ | Short | Yes | No | Yes | No |
🇰🇪 en-KE | English Kenya | Shillings KSh | Short | Yes | No | Yes | No |
🇲🇾 en-MY | English Malaysia | Ringgit RM | Short | Yes | No | Yes | No |
🇲🇺 en-MU | English Mauritius | Rupees Rs | Short | Yes | No | Yes | No |
🇲🇦 en-MA | English Morocco | Dirhams MAD | Short | Yes | No | Yes | No |
🇲🇲 en-MM | English Myanmar (Burma) | Kyats K | Short | Yes | No | Yes | No |
🇳🇵 en-NP | English Nepal | Rupees Rs | Short | Yes | No | Yes | No |
🇳🇿 en-NZ | English New Zealand | New Zealand Dollars NZ$ | Short | Yes | No | Yes | No |
🇳🇬 en-NG | English Nigeria | Naira ₦ | Short | Yes | No | Yes | No |
🇴🇲 en-OM | English Oman | Omani Rials OMR | Short | Yes | No | Yes | No |
🇵🇰 en-PK | English Pakistan | Rupees ₨ | Short | Yes | No | Yes | No |
🇵🇭 en-PH | English Philippines | Pesos ₱ | Short | Yes | No | Yes | No |
🇸🇦 en-SA | English Saudi Arabia | Riyals SAR | Short | Yes | No | Yes | No |
🇸🇬 en-SG | English Singapore | Dollars S$ | Short | Yes | No | Yes | No |
🇿🇦 en-ZA | English South Africa | Rand R | Short | Yes | No | Yes | No |
🇱🇰 en-LK | English Sri Lanka | Rupees Rs | Short | Yes | No | Yes | No |
🇹🇿 en-TZ | English Tanzania | Shillings TSh | Short | Yes | No | Yes | No |
🇹🇹 en-TT | English Trinidad & Tobago | Dollars TT$ | Short | Yes | No | Yes | No |
🇺🇬 en-UG | English Uganda | Shillings USh | Short | Yes | No | Yes | No |
🇦🇪 en-AE | English United Arab Emirates | Dirhams | Short | Yes | No | Yes | No |
🇬🇧 en-GB | English United Kingdom | Pounds £ | Short | Yes | No | Yes | No |
🇺🇸 en-US | English United States | Dollars $ | Short | Yes | No | Yes | No |
🇿🇼 en-ZW | English Zimbabwe | Zimbabwe Gold ZiG | Short | Yes | No | Yes | No |
🇪🇪 ee-EE | Estonian Estonia | Eurot € | Short | Yes | No | No | No |
🇵🇭 fil-PH | Filipino Philippines | Piso ₱ | Short | Yes | No | No | No |
🇫🇮 fi-FI | Finnish Finland | Euroa € | Short | Yes | No | No | No |
🇩🇿 fr-DZ | French Algeria | Dinars DZD | Long | Yes | No | Yes | No |
🇧🇪 fr-BE | French Belgium | Euros € | Long | Yes | No | Yes | No |
🇨🇦 fr-CA | French Canada | Dollars $ | Long | Yes | No | Yes | No |
🇫🇷 fr-FR | French France | Euros € | Long | Yes | No | Yes | No |
🇲🇦 fr-MA | French Morocco | Dirhams MAD | Long | Yes | No | Yes | No |
🇸🇦 fr-SA | French Saudi Arabia | Riyals SAR | Long | Yes | No | Yes | No |
🇨🇭 fr-CH | French Switzerland | Francs CHF | Long | Yes | No | Yes | No |
🇬🇪 ka-GE | Georgian Georgia | ლარი ₾ | Short | Yes | No | Yes | No |
🇦🇹 de-AT | German Austria | Euro € | Long | Yes | No | Yes | No |
🇩🇪 de-DE | German Germany | Euro € | Long | Yes | No | Yes | No |
🇨🇭 de-CH | German Switzerland | Franken CHF | Long | Yes | No | Yes | No |
🇬🇷 el-GR | Greek Greece | Ευρώ € | Short | Yes | No | Yes | No |
🇮🇳 gu-IN | Gujarati India | રૂપિયા ₹ | Indian | Yes | No | Yes | No |
🇳🇬 ha-NG | Hausa Nigeria | Naira ₦ | Short | Yes | No | No | No |
🇮🇱 he-IL | Hebrew Israel | שקלים ₪ | Short | Yes | Yes | Yes | No |
🇮🇳 hi-IN | Hindi India | रुपये ₹ | Indian | Yes | No | Yes | No |
🇭🇺 hu-HU | Hungarian Hungary | Forint Ft | Short | Yes | No | Yes | No |
🇮🇸 is-IS | Icelandic Iceland | Krónur kr | Short | Yes | No | No | No |
🇳🇬 ig-NG | Igbo Nigeria | Naira ₦ | Short | Yes | No | No | No |
🇮🇩 id-ID | Indonesian Indonesia | Rupiah Rp | Short | Yes | No | Yes | No |
🇮🇹 it-IT | Italian Italy | Euro € | Short | Yes | No | Yes | No |
🇯🇵 ja-JP | Japanese Japan | 円 ¥ | East Asian | Yes | No | No | No |
🇮🇩 jv-ID | Javanese Indonesia | Rupiah Rp | Short | Yes | No | No | No |
🇮🇳 kn-IN | Kannada India | ರೂಪಾಯಿಗಳು ₹ | Indian | Yes | No | Yes | No |
🇰🇭 km-KH | Khmer Cambodia | រៀល ៛ | Short | Yes | No | No | No |
🇰🇷 ko-KR | Korean South Korea | 원 | East Asian | Yes | No | No | No |
🇱🇻 lv-LV | Latvian Latvia | eiro € | Short | Yes | Yes | Yes | No |
🇱🇹 lt-LT | Lithuanian Lithuania | Eurų € | Short | Yes | Yes | No | No |
🇲🇾 ms-MY | Malay Malaysia | Ringgit RM | Short | Yes | No | Yes | No |
🇸🇬 ms-SG | Malay Singapore | Dolar S$ | Short | Yes | No | Yes | No |
🇮🇳 ml-IN | Malayalam India | രൂപ ₹ | Indian | Yes | No | Yes | No |
🇮🇳 mr-IN | Marathi India | रुपये ₹ | Indian | Yes | No | Yes | No |
🇳🇵 np-NP | Nepali Nepal | रुपैयाँ रु | Indian | Yes | No | Yes | No |
🇳🇴 nb-NO | Norwegian Bokmal Norway | Kroner kr | Short | Yes | No | Yes | No |
🇮🇳 or-IN | Odia India | ଟଙ୍କା ₹ | Indian | Yes | No | Yes | No |
🇮🇷 fa-IR | Persian Iran | تومان | Short | Yes | No | Yes | No |
🇵🇱 pl-PL | Polish Poland | Złotych zł | Short | Yes | Yes | Yes | No |
🇦🇴 pt-AO | Portuguese Angola | Kwanzas Kz | Short | Yes | Yes | Yes | No |
🇧🇷 pt-BR | Portuguese Brazil | Reais R$ | Short | Yes | Yes | Yes | No |
🇲🇿 pt-MZ | Portuguese Mozambique | Meticais MT | Short | Yes | Yes | Yes | No |
🇵🇹 pt-PT | Portuguese Portugal | Euros € | Short | Yes | Yes | Yes | No |
🇮🇳 pa-IN | Punjabi India | ਰੁਪਏ ₹ | Indian | Yes | No | Yes | No |
🇷🇴 ro-RO | Romanian Romania | Lei lei | Short | Yes | Yes | Yes | No |
🇷🇺 ru-RU | Russian Russia | Рублей ₽ | Short | Yes | Yes | Yes | No |
🇷🇸 sr-RS | Serbian Serbia | Dinara RSD | Short | Yes | Yes | Yes | No |
🇱🇰 si-LK | Sinhala Sri Lanka | රුපියල රු | Indian | Yes | No | No | No |
🇸🇰 sk-SK | Slovak Slovakia | Eur € | Short | Yes | Yes | Yes | No |
🇸🇮 sl-SI | Slovenian Slovenia | Evrov € | Short | Yes | Yes | Yes | No |
🇦🇷 es-AR | Spanish Argentina | Pesos Argentinos $ | Short | Yes | Yes | Yes | No |
🇨🇱 es-CL | Spanish Chile | Pesos Chilenos $ | Short | Yes | Yes | Yes | No |
🇨🇴 es-CO | Spanish Colombia | Pesos Colombianos $ | Short | Yes | Yes | Yes | No |
🇲🇽 es-MX | Spanish Mexico | Pesos Mexicanos $ | Short | Yes | Yes | Yes | No |
🇵🇪 es-PE | Spanish Peru | Soles S/. | Short | Yes | Yes | Yes | No |
🇪🇸 es-ES | Spanish Spain | Euros € | Short | Yes | Yes | Yes | No |
🇺🇸 es-US | Spanish United States | Dólares Estadounidenses $ | Short | Yes | Yes | Yes | No |
🇻🇪 es-VE | Spanish Venezuela | Bolívares Bs. | Short | Yes | Yes | Yes | No |
🇰🇪 sw-KE | Swahili Kenya | Shilingi KSh | Short | Yes | No | No | No |
🇹🇿 sw-TZ | Swahili Tanzania | Shilingi TSh | Short | Yes | No | No | No |
🇸🇪 sv-SE | Swedish Sweden | Kronor kr | Short | 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 | บาท ฿ | Short | Yes | No | No | No |
🇹🇷 tr-TR | Turkish Türkiye | ₺ | Short | Yes | No | No | No |
🇺🇦 uk-UA | Ukrainian Ukraine | Гривень ₴ | Short | Yes | Yes | Yes | No |
🇵🇰 ur-PK | Urdu Pakistan | روپے ₨ | Indian | Yes | No | Yes | No |
🇺🇿 uz-UZ | Uzbek Uzbekistan | So'm UZS | Short | Yes | No | No | No |
🇻🇳 vi-VN | Vietnamese Vietnam | Đồng ₫ | Short | Yes | No | Yes | No |
🇳🇬 yo-NG | Yoruba Nigeria | Naira ₦ | Short | Yes | No | No | No |
🇿🇦 zu-ZA | Zulu South Africa | Rand R | Short | Yes | No | No | No |