Saltar al contenido
El bit perdido
Newsletter

Validar un número de tarjeta (algoritmo de Luhn)

Una tienda online sabe que has escrito mal tu tarjeta antes de preguntar al banco. Lo hace con un truco de 1954: duplicar una cifra de cada dos.

No escribas aquí el número de tu tarjeta: usa los de los ejemplos. Aunque no se envía a ningún sitio, es mejor no acostumbrarse a escribirlo en cualquier web.

Prueba con:

Cómo funciona

  • Empezando por la penúltima cifra, se duplica una de cada dos. Si el doble pasa de 9, se le restan 9.
  • Se suma todo, y la suma tiene que acabar en 0.
  • Detecta cualquier cifra mal escrita y casi todos los cambios de orden de dos cifras seguidas. Solo se le escapa uno: 09 ↔ 90.

Luhn detecta todas las erratas de una cifra y todos los cambios de orden de dos cifras seguidas salvo 09 ↔ 90. Es la idea de los códigos detectores y correctores de errores: añadir un poco de información redundante para pillar (o arreglar) los fallos.

Preguntas frecuentes

¿Qué es el algoritmo de Luhn?

Un dígito de control que inventó Hans Peter Luhn, de IBM: lo presentó como patente en 1954 y se la concedieron en 1960. Se duplica una cifra de cada dos empezando por la penúltima, se restan 9 a los dobles mayores que 9, se suma todo y el resultado tiene que ser múltiplo de 10.

¿Si un número pasa Luhn, la tarjeta es real?

No. Solo quiere decir que no tiene una errata de las que detecta. Para saber si una tarjeta existe hay que preguntar al banco que la emite.

¿Qué errores no detecta?

Detecta todas las cifras mal escritas y todos los cambios de orden de dos cifras seguidas excepto 09 ↔ 90, porque 0 y 9 suman lo mismo duplicados que sin duplicar (0 → 0 y 9 → 18 → 9).

Otros validadores

Fuentes

Comprobado el 20 de octubre de 2026. Los cálculos se contrastan con la biblioteca python-stdnum en 4000 casos.

Cómo citar esta página

Fernando Hernando (2026). Validar un número de tarjeta (algoritmo de Luhn) [Herramienta web], versión del 20 de octubre de 2026. El bit perdido. https://elbitperdido.com/herramientas/validar-tarjeta

@misc{hernando2026validartarjeta,
  author = {Fernando Hernando},
  title = {Validar un número de tarjeta (algoritmo de Luhn)},
  year = {2026},
  howpublished = {El bit perdido},
  url = {https://elbitperdido.com/herramientas/validar-tarjeta},
  note = {Herramienta web, versión del 20 de octubre de 2026}
}