n2words converts numerical numbers into written ones, supports 27 languages, and has zero dependencies.
n2words(123) // 'one hundred and twenty-three'
n2words(-1.5) // 'minus one point five'
n2words(123, {lang: 'fr'}) // 'cent vingt-trois'
n2words(123, {lang: 'es'}) // 'ciento veintitrés'
n2words(123, {lang: 'ar'}) // 'مائة و ثلاثة و عشرون'
See the Wiki for examples and advanced usage like importing only specific languages.
npm install n2words
import n2words from 'n2words'
CommonJS (dynamic import)
import('n2words').then(({default: n2words}) => {
n2words(100)
})
<script src="./n2words.js"></script>
<script>
n2words(100)
</script>
n2words is also available on jsDelivr.
en
(English, default)ar
(Arabic)az
(Azerbaijani)cz
(Czech)dk
(Danish)de
(German)es
(Spanish)fr
(French)fr-BE
(French (Belgium))fa
(Farsi)he
(Hebrew)hr
(Croatian)hu
(Hungarian)id
(Indonesian)it
(Italian)ko
(Korean)lt
(Lithuanian)lv
(Latvian)nl
(Dutch)no
(Norwegian)pl
(Polish)pt
(Portuguese)ru
(Russian)sr
(Serbian)tr
(Turkish)uk
(Ukrainian)vi
(Vietnamese)zh
(Chinese)
This library is in active development. We want to improve the design and process for language contributors and add more languages. Bug reports and feature requests are also beneficial!