Número a Letras
Cantidad con letra en pesos (M.N.), soles o euros — para facturas, cheques y documentos legales.
100% en tu navegador — no se sube nadaConvierte un número a letras — cantidad con letra para facturas y cheques en pesos, soles o euros
Decimales: usa punto o coma — 99.5 o 99,5.
Cómo se escribe una cantidad con letra
Respuesta rápida: para una factura en México, $1,234.56 se escribe «MIL DOSCIENTOS TREINTA Y CUATRO PESOS 56/100 M.N.» — la cantidad en letras, la palabra PESOS, los centavos como fracción de 100 y M.N. (moneda nacional) al final; sin centavos se pone 00/100. Escribe cualquier número arriba y obtienes la cantidad con letra lista para copiar, en pesos mexicanos o en el formato de Colombia (M/CTE), Perú (soles), España (euros) o dólares. Si la necesitas dentro de Excel, más abajo tienes una macro lista para pegar.
El convertidor maneja enteros hasta 999 billones (escala larga), centavos y números negativos, y aplica las reglas que más se equivocan a mano: «veintiún pesos» y no «veintiuno pesos», «un millón de pesos» con «de», y «mil» sin «un» delante. Tienes tres salidas: el número en palabras, la cantidad con letra en la moneda que elijas y la misma cantidad en mayúsculas, como se escribe en facturas y cheques.
Escribir los montos en palabras es un requisito en cheques, contratos legales, pagarés y muchos documentos oficiales. La cantidad escrita en letras es la que tiene validez legal en caso de discrepancia con la cifra numérica. Esta herramienta te da ese texto al instante sin tener que buscar la forma correcta para cantidades grandes.
El convertidor en español usa la escala larga, que es el sistema estándar en todos los países hispanohablantes: un billón equivale a un millón de millones (10¹²). En la escala larga, un millón de millones es un billón, mientras que en la escala corta anglosajona un billion es solo mil millones. Esta distinción es crítica en documentos financieros y legales internacionales.
Los centavos siguen la convención de facturas y cheques: se muestran como fracción, «56/100», en lugar de deletrear cada dígito — salvo en euros y en el formato colombiano, donde se escriben en palabras («con cincuenta y seis céntimos»). El parser acepta tanto 1,234.56 (formato mexicano y estadounidense) como 1.234,56 (formato de España y Sudamérica).
Cantidad con letra por país: el mismo importe en cada formato
| País / moneda | Cómo se escribe 1,234.56 |
|---|---|
| México — pesos (factura) | MIL DOSCIENTOS TREINTA Y CUATRO PESOS 56/100 M.N. |
| Colombia — pesos | MIL DOSCIENTOS TREINTA Y CUATRO PESOS M/CTE CON CINCUENTA Y SEIS CENTAVOS |
| Perú — soles (SUNAT) | SON: MIL DOSCIENTOS TREINTA Y CUATRO CON 56/100 SOLES |
| España — euros | Mil doscientos treinta y cuatro euros con cincuenta y seis céntimos |
| Dólares (EE. UU., Puerto Rico, Ecuador, El Salvador) | Mil doscientos treinta y cuatro con 56/100 dólares |
| Pesos, formato general | Mil doscientos treinta y cuatro pesos con 56/100 |
En Perú la moneda va después de la fracción, así que el número no se acorta: «SON: VEINTIUNO CON 00/100 SOLES», no «veintiún». En México y Colombia la moneda va pegada al número y sí se acorta: «VEINTIÚN PESOS». La fracción 00/100 se escribe siempre en facturas y cheques, aunque no haya centavos: deja el importe cerrado.
Número a letras en Excel: macro lista para copiar
- En Excel, presiona Alt + F11 para abrir el editor de Visual Basic.
- Menú Insertar → Módulo, y pega el código de abajo.
- Vuelve a la hoja y escribe =NumeroALetras(A1), con el importe en A1.
- Guarda el libro como «Libro de Excel habilitado para macros (.xlsm)»; si lo guardas como .xlsx, la macro se pierde.
' =NumeroALetras(A1) -> MIL DOSCIENTOS TREINTA Y CUATRO PESOS 56/100 M.N.
' Pegar en un módulo de VBA (Alt+F11 > Insertar > Módulo). Hasta 999 billones.
' Para otra moneda, cambia "PESO", "PESOS" y "M.N." en NumeroALetras.
Public Function NumeroALetras(ByVal importe)
Dim entero, centavos, texto
importe = Abs(importe)
entero = Fix(importe)
centavos = Int((importe - entero) * 100 + 0.5)
If centavos = 100 Then entero = entero + 1: centavos = 0
If entero = 0 Then
texto = "CERO PESOS"
ElseIf entero = 1 Then
texto = "UN PESO"
Else
texto = Apocope(Letras(entero))
If entero >= 1000000 And entero - Fix(entero / 1000000) * 1000000 = 0 Then texto = texto & " DE"
texto = texto & " PESOS"
End If
NumeroALetras = texto & " " & Right("0" & centavos, 2) & "/100 M.N."
End Function
Private Function Letras(ByVal n)
Dim billones, millones, resto, t
billones = Fix(n / 1000000000000)
n = n - billones * 1000000000000
millones = Fix(n / 1000000)
resto = n - millones * 1000000
t = ""
If billones = 1 Then t = "UN BILLÓN"
If billones > 1 Then t = Apocope(Miles(billones)) & " BILLONES"
If millones = 1 Then t = Trim(t & " UN MILLÓN")
If millones > 1 Then t = Trim(t & " " & Apocope(Miles(millones)) & " MILLONES")
If resto > 0 Then t = Trim(t & " " & Miles(resto))
Letras = t
End Function
Private Function Miles(ByVal n)
Dim m, r, t
m = Fix(n / 1000)
r = n - m * 1000
t = ""
If m = 1 Then
t = "MIL"
ElseIf m > 1 Then
t = Apocope(Centenas(m)) & " MIL"
End If
If r > 0 Then
If t <> "" Then t = t & " "
t = t & Centenas(r)
End If
Miles = t
End Function
Private Function Centenas(ByVal n)
Dim c, d, t
If n = 100 Then
Centenas = "CIEN"
Exit Function
End If
c = Fix(n / 100)
d = n - c * 100
t = ""
If c > 0 Then t = Split("CIENTO,DOSCIENTOS,TRESCIENTOS,CUATROCIENTOS,QUINIENTOS,SEISCIENTOS,SETECIENTOS,OCHOCIENTOS,NOVECIENTOS", ",")(c - 1)
If d > 0 Then
If t <> "" Then t = t & " "
t = t & Decenas(d)
End If
Centenas = t
End Function
Private Function Decenas(ByVal n)
Dim d, u, t
If n < 30 Then
t = Split("UNO,DOS,TRES,CUATRO,CINCO,SEIS,SIETE,OCHO,NUEVE,DIEZ,ONCE,DOCE,TRECE,CATORCE,QUINCE,DIECISÉIS,DIECISIETE,DIECIOCHO,DIECINUEVE,VEINTE,VEINTIUNO,VEINTIDÓS,VEINTITRÉS,VEINTICUATRO,VEINTICINCO,VEINTISÉIS,VEINTISIETE,VEINTIOCHO,VEINTINUEVE", ",")(n - 1)
Else
d = Fix(n / 10)
u = n - d * 10
t = Split("TREINTA,CUARENTA,CINCUENTA,SESENTA,SETENTA,OCHENTA,NOVENTA", ",")(d - 3)
If u > 0 Then t = t & " Y " & Split("UNO,DOS,TRES,CUATRO,CINCO,SEIS,SIETE,OCHO,NUEVE", ",")(u - 1)
End If
Decenas = t
End Function
' Ante un sustantivo, "uno" se acorta: VEINTIÚN PESOS, TREINTA Y UN MIL.
Private Function Apocope(ByVal t)
If Right(t, 9) = "VEINTIUNO" Then
Apocope = Left(t, Len(t) - 9) & "VEINTIÚN"
ElseIf Right(t, 3) = "UNO" Then
Apocope = Left(t, Len(t) - 1)
Else
Apocope = t
End If
End FunctionErrores comunes al escribir cantidades con letra
| Evita | Escribe | Por qué |
|---|---|---|
| Veintiuno pesos · treinta y uno pesos | Veintiún pesos · treinta y un pesos | Ante un sustantivo masculino, «uno» se acorta a «un». |
| Un mil pesos | Mil pesos | «Mil» no lleva «un» delante (pero «un millón» sí). |
| Un millón pesos | Un millón de pesos | Si la cantidad termina en millón o millones, va «de» antes de la moneda. |
| Diez y seis · veinte y dos | Dieciséis · veintidós | Del 16 al 29 se escriben en una sola palabra, con tilde en dieciséis, veintidós, veintitrés y veintiséis. |
| Omitir la fracción si no hay centavos | Cinco mil pesos 00/100 M.N. | En facturas y cheques la fracción se escribe siempre y cierra el importe. |
| Un billón = 1,000,000,000 | Mil millones | En español un billón es un millón de millones (10¹²); el «billion» inglés son mil millones. |
Preguntas frecuentes
¿Cuál es el número más grande que puede convertir?
Maneja números hasta 999,999,999,999,999 (999 billones en escala larga). Para la mayoría de cheques y documentos legales, este rango es más que suficiente.
¿Cómo se manejan los decimales?
Como fracción de 100, que es lo que piden bancos y facturas: 1234.56 en pesos mexicanos es «Mil doscientos treinta y cuatro pesos 56/100 M.N.». En euros y en el formato colombiano los centavos se escriben en palabras: «… euros con cincuenta y seis céntimos».
¿Mis datos se envían a un servidor?
No. Toda la conversión corre en tu navegador. Nada de lo que escribes se envía a ningún lado.
¿Cómo se escribe una cantidad con letra en una factura en México?
En mayúsculas, con la palabra PESOS, los centavos como fracción de 100 y M.N. (moneda nacional) al final: $1,234.56 se escribe «MIL DOSCIENTOS TREINTA Y CUATRO PESOS 56/100 M.N.». Si no hay centavos se pone 00/100, y muchas facturas la encierran entre paréntesis.
¿Se escribe «un millón de pesos» o «un millón pesos»?
Un millón de pesos: cuando la cantidad termina justo en millón o millones, va «de» antes de la moneda (dos millones de pesos). Si sigue otra cifra, no: un millón quinientos mil pesos. Y ante un sustantivo, «uno» se acorta: un peso, veintiún pesos, treinta y un pesos.
¿Cómo convierto un número a letras en Excel?
Excel no trae ninguna función para escribir cantidades en letras en español. La solución habitual es una macro: copia la función NumeroALetras de la guía de abajo en un módulo de VBA (Alt + F11 → Insertar → Módulo) y úsala como cualquier fórmula: =NumeroALetras(A1). Guarda el libro como .xlsm para que conserve la macro.
¿Qué significa M/CTE en Colombia?
Moneda corriente: indica que el importe está en pesos colombianos. Se escribe después de PESOS — «DOS MILLONES QUINIENTOS MIL PESOS M/CTE» —, y los centavos, que casi no se usan, aparecen en la factura electrónica como «CON … CENTAVOS».