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!