Validador de Números de Tarjeta de Crédito | Algoritmo de Luhn
Introduce un número de tarjeta de crédito para verificar su dígito de control con el algoritmo de Luhn y detectar automáticamente la marca (Visa, Mastercard, Amex, etc.). Útil para probar validaciones de formularios.
[[ labels.client_side_note ]]
[[ labels.result_label ]]
| [[ labels.formatted_label ]] | [[ result.formatted ]] |
|---|---|
| [[ labels.brand_label ]] | [[ brandName ]] [[ labels.brand_unknown ]] |
| [[ labels.checksum_label ]] | ✓ [[ labels.checksum_valid ]] ✗ [[ labels.checksum_invalid ]] |
Marcas admitidas y reglas de detección (IIN y longitud)
| Marca | Dígitos iniciales (IIN) | Longitud |
|---|---|---|
| Visa | 4 | 13, 16, 19 |
| Mastercard | 51–55, 2221–2720 | 16 |
| American Express | 34, 37 | 15 |
| Discover | 6011, 65 | 16 |
| JCB | 3528–3589 | 16 |
| Diners Club | 300–305, 36, 38 | 14 |
| UnionPay | 62 | 16–19 |
Qué hace este validador de números de tarjeta
Todo número de tarjeta de crédito lleva al final un dígito de control pensado para detectar errores de tecleo. Al verificar la secuencia con el algoritmo de Luhn se descubre la mayor parte de las erratas de un solo dígito y de las inversiones entre cifras contiguas. Esta herramienta realiza esa comprobación y, además, deduce la marca de la tarjeta a partir de las cifras iniciales y de la longitud.
Lo esencial es que se trata únicamente de una validación de formato. Aunque supere la comprobación de Luhn, el número no tiene por qué corresponder a una tarjeta existente, y menos aún indica si está operativa. La autorización real debe pasar por la API de una pasarela de pago. El número introducido se procesa solo en su navegador y no se envía al exterior.
Cómo validar un número
- Introduzca el número Los espacios y los guiones se eliminan automáticamente, así que puede pegar tal cual el valor que haya copiado.
- Consulte el resultado del dígito de control El resultado del algoritmo de Luhn se muestra como válido o no válido. Si no es válido, hay un error en alguna de las cifras.
- Compruebe la marca detectada La marca se deduce de las cifras iniciales y de la longitud. La tabla inferior recoge las condiciones aplicadas.
- Pruebe el comportamiento con un ejemplo El botón de ejemplo introduce un número de prueba, de modo que puede verificar el funcionamiento sin usar un número real.
Consejos para aprovecharla mejor
- Prueba los botones de ejemplo con números de prueba conocidos (ej. Visa: 4111 1111 1111 1111) en lugar de un número real.
- Los espacios y guiones se eliminan automáticamente, así que puedes pegar un número copiado de cualquier sitio.
- Esta herramienta solo verifica el formato mediante el algoritmo de Luhn. Para una autorización real o consulta de saldo, usa la API de tu procesador de pagos.
- Al desarrollar la validación de un formulario, usa esta herramienta para generar tanto un caso válido como uno inválido y así probar tu lógica.
Cuándo resulta útil
Implementar la validación de un formulario
Contraste el veredicto de su propia validación con el de aquí. Puede preparar tanto casos correctos como erróneos.
Verificar la lógica de detección de marca
En la tabla se ve qué marca resulta de cada combinación de cifras iniciales y longitud, algo útil si debe mostrar el icono de tarjeta correspondiente.
Aislar un error de tecleo
Si un pago no se completa, puede comprobar primero si el propio formato del número es incorrecto, lo que acelera el diagnóstico.
Aprender el algoritmo de Luhn
Cambie una sola cifra y verá cómo la validación pasa a no válida, lo que hace muy tangible el mecanismo.
Términos sobre números de tarjeta
- Algoritmo de Luhn
- Método de cálculo que comprueba si una secuencia de cifras es plausible. Desde la derecha se duplica una cifra sí y otra no, se suma todo y, si el total es divisible entre 10, se considera válido.
- Dígito de control
- Cifra añadida al final para detectar errores de tecleo. Se obtiene por cálculo a partir de las demás posiciones.
- IIN
- Número de identificación del emisor situado al comienzo del número de tarjeta. A partir de él se distinguen la marca y la entidad emisora.
- Marca
- Marcas internacionales como Visa, Mastercard o American Express. Se determina por la combinación de cifras iniciales y longitud.
- Autorización
- Proceso que comprueba si la tarjeta es realmente utilizable y si el límite disponible es suficiente. Es un trámite completamente distinto de la validación de formato.
Preguntas Frecuentes
A Propósito — Hans Peter Luhn, el Padre del Dígito de Control
El dígito de control al final de un número de tarjeta de crédito se verifica con un algoritmo ideado en 1954 por el ingeniero de IBM Hans Peter Luhn. Obtuvo una patente por ello en 1960, pero esa patente expiró hace tiempo, por lo que el algoritmo es ahora de uso libre para cualquiera.
El mecanismo es sorprendentemente simple. Empezando por el dígito más a la derecha, se duplica cada segundo dígito; si el resultado tiene dos cifras, se suman entre sí (por ejemplo, 8×2=16 → 1+6=7). Si la suma de todos los dígitos es múltiplo de 10, el número se considera formalmente válido.
El algoritmo se usa mucho más allá de las tarjetas de crédito: también detecta errores de tecleo en números IMEI (que identifican teléfonos) y en los números de seguro social canadienses, entre otros. Vale la pena recordar que Luhn solo detecta errores accidentales de escritura; no dice nada sobre si la tarjeta existe realmente o tiene saldo.
Los primeros 6 a 8 dígitos de un número de tarjeta forman el IIN (Número de Identificación del Emisor), que identifica la red de la tarjeta y el banco emisor. La detección de marca de esta herramienta se basa en los rangos de IIN documentados públicamente para cada red.