FreeToGenerate.com

100% gratis · sin registro · nada se sube

Todo ocurre en tu navegador: el número nunca sale de tu dispositivo.

También disponible en: English · Português · Français · العربية

Convertidor de números a letras

Escribe una cifra y obtén al instante cómo se escribe en letras, en español, inglés, francés, portugués o árabe.

¿Qué hace un conversor de números a letras?

Un conversor de números a letras toma una cifra escrita con dígitos —1234, 21000, −87— y la convierte en la forma en que se escribiría con palabras: mil doscientos treinta y cuatro, veintiún mil, menos ochenta y siete. Sirve para escribir cheques, actas, contratos o cualquier documento donde la cantidad deba figurar también en letras, para dictados y ejercicios de idioma, o simplemente para resolver la duda de cómo se escribe un número muy largo sin cometer un error de acentuación o de concordancia. Esta página convierte números a letras en cinco idiomas —español, inglés, francés, portugués y árabe— eligiendo el idioma en un desplegable que no depende de la versión del sitio en la que estés navegando.

Cómo se usa

  1. Escribe el número. Puedes teclearlo o pegarlo directamente en el campo: se convierte mientras escribes, sin botón de por medio, y admite separadores de miles con punto, coma o espacio, además de números negativos.
  2. Elige el idioma. El desplegable decide en qué lengua salen las letras —español, inglés, portugués, francés o árabe—, y es independiente de la página en la que te encuentres; al elegir inglés aparece además un interruptor «and» para alternar entre el estilo americano (one hundred one) y el británico (one hundred and one).
  3. Copia el resultado. El texto en letras aparece debajo del campo con un botón de copiar, y junto a él hay un botón para limpiarlo todo y otro que carga un número de ejemplo.

Lo que hay detrás del conversor

Escribir números en letras parece un problema resuelto, pero no lo está: Intl.NumberFormat, el objeto que el navegador ya trae para dar formato a números y monedas, no sabe convertir una cifra en palabras. Unicode sí guarda esas reglas —un sistema llamado RBNF, de Rule-Based Number Format—, pero ningún navegador lo expone a quien programa. Por eso cada idioma de esta página está construido desde su propia gramática y no como una lista de palabras traducida de otra.

Lo interesante está en el detalle de cada idioma. El español exige la apócope: «uno» pasa a «un» delante de una palabra de escala, así que 21.000 es «veintiún mil» —con tilde— y nunca «veintiuno mil»; además usa la escala larga, donde 10⁹ es «mil millones» y «un billón» son 10¹², no lo que en inglés se llama billion. El portugués decide la «e» por regla: une centenas con decenas y decenas con unidades, y solo engancha el último grupo si es menor que cien o una centena redonda, de ahí «mil e um» y «mil e setecentos» frente a «mil duzentos e trinta e quatro». El francés carga el conocido 70/80/90 —soixante-dix, quatre-vingts, quatre-vingt-dix—, pone «et» en vingt et un y soixante et onze pero no en quatre-vingt-un, y solo deja la -s de vingt y cent cuando no les sigue nada más: quatre-vingts, pero quatre-vingt-un; deux cents millions, pero deux cent mille, porque mille es un numeral invariable y million un sustantivo que sí pluraliza. El árabe usa formas duales donde el español diría «doscientos» (مئتان, ألفان), un plural para el rango de 3 a 10 (ثلاثة آلاف) y, del 11 al 99, una forma singular especial; y lo que decide cuál se aplica es la última parte del número, de modo que 553 mil se comporta gramaticalmente como 53, no como 500.

La forma de comprobar que todo esto es correcto y no solo plausible fue escribir 90 casos a mano, uno por cada trampa de cada idioma, y además comparar el resultado contra la biblioteca n2words en 5.001 valores. Inglés y francés coincidieron exactamente, 5.001 de 5.001. Español, portugués y árabe discreparon en algunos casos, y cada discrepancia se rastreó hasta un defecto de esa biblioteca y no de este conversor: se come las tildes de la RAE y escribe «dieciseis» en vez de «dieciséis», se salta la apócope y deja «veintiuno mil», añade un «um» de más en «um mil milhões» y aplica de forma inconsistente la forma árabe del 11 al 99. n2words se usó solo como comparación durante el desarrollo y después se eliminó: no forma parte del sitio.

Dicho esto, hay límites que conviene conocer. El conversor solo trabaja con números enteros —nada de decimales ni de fórmulas de cheque como «y 50/100»—; el portugués que produce es el europeo (dezasseis, «mil milhões»), y no el brasileño, que diría dezesseis y «um bilhão»; el español usa la escala larga, correcta en español pero distinta del billion inglés; el árabe se muestra en su forma de cita aislada, porque en una frase real el número concordaría con el sustantivo que cuenta; y no genera ordinales, así que no escribe «vigésimo primero». El máximo admitido es 999.999.999.999.999, y por debajo funciona con BigInt para que las cifras grandes no pierdan precisión.

¿Por qué es gratis?

Esta página es estática: no hay servidor procesando nada, ni modelo de por medio, ni cuenta que crear. El número se convierte en tu propio navegador en el momento en que lo escribes, no se sube a ningún sitio y no queda guardado en ningún lado. No hay marca de agua porque no hay nada que producir aparte del texto que ya ves en pantalla, y no hay límite de usos porque cada conversión cuesta lo mismo que teclear: nada.