Skip to content

Spanish Number to Words in JavaScript

8 regional Spanish locales — Spain, Mexico, Argentina, Colombia, Chile, Peru, USA, Venezuela. Includes grammatical gender support.

Locale codes: es-AR, es-CL, es-CO, es-ES, es-MX, es-PE, es-US, es-VE · Numbering system: Short scale · Currency: Region-specific Spanish currencies · Script: Latin

LocaleCountryCurrency
es-ARArgentinaPeso
es-CLChilePeso
es-COColombiaPeso
es-ESSpainEuro
es-MXMexicoPeso
es-PEPeruSol
es-USUSADollar
es-VEVenezuelaBolívar

Install

bash
npm install to-words

Basic Conversion

js
import { ToWords } from 'to-words';

const tw = new ToWords({ localeCode: 'es-ES' });

tw.convert(12345);
// "Doce Mil Trescientos Cuarenta Y Cinco"

tw.convert(1234.56, { currency: true });
// "Mil Doscientos Treinta Y Cuatro Euros Con Cincuenta Y Seis Céntimos"

Gender Support

js
const tw = new ToWords({ localeCode: 'es-ES' });

tw.convert(1, { gender: 'feminine' }); // "Una"
tw.convert(1, { gender: 'masculine' }); // "Uno"

Spanish also changes hundreds in feminine contexts, so wording like Doscientas matters in invoices and forms.

Ordinal Numbers

js
tw.toOrdinal(1); // "Primero"
tw.toOrdinal(2);
tw.toOrdinal(10);

Locale Codes

Locale codeCountryCurrencyNotes
es-ARArgentinaPesoArgentine Spanish wording
es-CLChilePesoChilean Spanish wording
es-COColombiaPesoColombian Spanish wording
es-ESSpainEuroDefault European Spanish locale
es-MXMexicoPesoBest fit for Mexican Spanish output
es-PEPeruSolPeruvian Spanish wording
es-USUnited StatesDollarSpanish wording for US-based apps
es-VEVenezuelaBolívarVenezuelan Spanish currency wording

FAQ

Q: Do Spanish locales differ significantly by country?
A: Currency names differ. For example es-ES uses Euro, es-MX uses Peso Mexicano.

Q: Does to-words support feminine/masculine in Spanish?
A: Yes — pass { gender: 'feminine' } or { gender: 'masculine' } as a convert option.

Released under the MIT License.