Validar y calcular un dígito de Luhn
La fórmula de Luhn protege números de tarjeta, IMEI y muchos números de cliente frente a errores de tecleo. Escribe un número por línea: la herramienta comprueba el último dígito o lo calcula. Usa solo números de ejemplo o de prueba.
Cómo se calcula
No introduzcas datos reales de tarjetas. El cálculo se hace solo en tu navegador; lo que escribes no se envía, no se guarda y no aparece en la dirección de la página. El resultado es una simple comprobación de formato: no indica si una tarjeta existe, está bloqueada o tiene saldo.
Cómo funciona el algoritmo de Luhn
- Empezando por la derecha y sin contar el dígito de control, se duplica uno de cada dos dígitos.
- Si el doble es mayor que 9, se suman sus cifras (equivale a restar 9): 7 × 2 = 14 → 5.
- Se suman todos los dígitos. El dígito de control completa la suma hasta el siguiente múltiplo de 10.
Ejemplo 7992739871: desde la derecha 1→2, 7, 8→16→7, 9, 3→6, 7, 2→4, 9, 9→18→9, 7. La suma es 67; faltan 3 para 70 → número completo 79927398713. Para validar se incluye el dígito de control: la suma debe ser divisible entre 10 (aquí, 70).
¿Dónde se usa Luhn?
En los números de tarjeta según ISO/IEC 7812-1 (tarjetas de pago y muchas de fidelización), en el dígito 15 del IMEI de los teléfonos móviles (3GPP TS 23.003) y en numerosos números de cliente o de contrato. Detecta cualquier error en un solo dígito y casi todos los intercambios de dígitos contiguos, salvo «09» ↔ «90». No protege frente a números inventados: uno de cada diez números aleatorios supera la prueba.
Para probar puedes usar el ejemplo clásico 79927398713 o el IMEI de la norma 3GPP, 49015420323751-8.
Preguntas frecuentes
¿Mi tarjeta es válida si supera la prueba de Luhn?
No. La prueba solo muestra que la secuencia de dígitos está bien formada. Si una tarjeta existe, está activa o tiene saldo solo lo sabe el banco emisor. Introduce los datos reales de tu tarjeta únicamente al pagar en la tienda.
¿Se guarda o se envía lo que escribo?
No. El cálculo se ejecuta en JavaScript en tu dispositivo; lo que escribes no aparece en la URL ni se guarda en el navegador. Aun así, usa solo números de ejemplo o de prueba.
¿Puedo comprobar un IMEI?
Sí. El IMEI de 15 dígitos termina con un dígito de control de Luhn (3GPP TS 23.003, anexo B). Introduce los 15 dígitos en el modo «validar» o los 14 primeros en el modo «calcular».
¿Qué errores no detecta el algoritmo de Luhn?
El intercambio de 0 y 9 (09 ↔ 90), los errores gemelos como 22 ↔ 55, 33 ↔ 66, 44 ↔ 77 y varios errores simultáneos que se compensan por casualidad.
¿Por qué no identifica al emisor de la tarjeta?
La asignación de los primeros dígitos (IIN/BIN) a los emisores cambia continuamente y no es necesaria para comprobar el formato. La herramienta se limita a propósito al dígito de control.
Fuentes y base legal
- ISO/IEC 7812-1: ISO/IEC 7812-1:2017 – Identification cards, Annex: Luhn formula for computing modulus-10 check digits
- 3GPP TS 23.003: 3GPP TS 23.003 – Numbering, addressing and identification, Annex B: IMEI check digit (Luhn)
- US Patent 2,950,048 – H. P. Luhn, Computer for verifying numbers (1960)
Última actualización:
Herramientas relacionadas
- Validar códigos EAN, GTIN e ISBNComprueba el dígito de control de EAN-8, EAN-13, UPC-A, GTIN-14 e ISBN-10/13, calcula el dígito que falta y convierte ISBN-10 a ISBN-13.
- Validar IBANValida un IBAN: dígitos de control (módulo 97), longitud y estructura de 89 países, y banco y BIC en IBAN alemanes. Todo en tu navegador, sin enviar nada.
- Validar la sintaxis de direcciones de correoComprueba una o varias direcciones de correo según RFC 5321/5322: longitudes, dominio, dominios con acentos o ñ (Punycode). En local, sin enviar nada.
- Cuál es mi dirección IPMuestra al instante tu dirección IP pública, detecta si es IPv4 o IPv6 y explica la diferencia. Gratis: tu IP no se guarda.
- Cuál es mi resolución de pantallaDescubre al instante tu resolución de pantalla, píxeles físicos, viewport, devicePixelRatio, relación de aspecto y breakpoint CSS. En vivo, en tu navegador.
- Cuál es mi user agentDescubre tu cadena de user agent y detecta navegador, versión, motor, SO y tipo de dispositivo, con Client Hints. Analiza cualquier otra. Local.