Saltar al contenido principal
Tarjeta CréditoValidaciónLuhnSeguridadPagos

Cómo validar una tarjeta de crédito: guía del algoritmo de Luhn

HerramientasÚtiles
24 de enero de 2026
5 min de lectura

Las tarjetas de crédito y débito utilizan el algoritmo de Luhn para validar que el número de tarjeta es correcto. Este algoritmo, desarrollado por Hans Peter Luhn en 1954, detecta errores de transcripción y es usado por todas las tarjetas principales: Visa, Mastercard, American Express, etc.

Entender cómo funciona el algoritmo de Luhn te ayuda a validar números de tarjeta, detectar errores y entender mejor el sistema de pagos. En esta guía te explicamos paso a paso cómo funciona el algoritmo, cómo identificar el tipo de tarjeta y cómo validar un número de tarjeta.

¿Qué es el algoritmo de Luhn?

El algoritmo de Luhn (también llamado algoritmo de módulo 10) es una fórmula matemática que valida números de identificación, especialmente números de tarjetas de crédito. Fue desarrollado por Hans Peter Luhn, un científico de IBM, en 1954.

¿Por qué se usa?

El algoritmo de Luhn detecta:

  • ✅ Errores de transcripción (dígitos intercambiados)
  • ✅ Dígitos faltantes o extra
  • ✅ Errores de tipeo comunes

No detecta:

  • ❌ Números válidos pero de tarjetas inexistentes
  • ❌ Tarjetas robadas o bloqueadas
  • ❌ Fondos insuficientes

Estructura de un número de tarjeta

Un número de tarjeta de crédito tiene entre 13 y 19 dígitos y sigue esta estructura:

4532 1234 5678 9010
││││ ││││ ││││ ││││
││││ ││││ ││││ └─ Dígito de control (Luhn)
││││ ││││ └─ Número de cuenta
││││ └─ Identificador de cuenta
│└─ Identificador de emisor
└─ Identificador de industria (BIN)

Componentes del número

  1. BIN (Bank Identification Number): Los primeros 6 dígitos

    • Identifican el banco o entidad emisora
    • Identifican el tipo de tarjeta (Visa, Mastercard, etc.)
  2. Número de cuenta: Los dígitos del medio

    • Identifican la cuenta específica
  3. Dígito de control: El último dígito

    • Se calcula con el algoritmo de Luhn
    • Valida que el número sea correcto

Cómo funciona el algoritmo de Luhn

El algoritmo de Luhn funciona en varios pasos:

Paso 1: Empezar desde la derecha

Trabajamos de derecha a izquierda, empezando por el penúltimo dígito.

Paso 2: Multiplicar por 2 los dígitos en posiciones pares

Multiplicamos por 2 cada segundo dígito (contando desde la derecha).

Paso 3: Sumar los dígitos de los resultados

Si al multiplicar obtenemos un número de 2 dígitos, sumamos esos dígitos.

Paso 4: Sumar todos los dígitos

Sumamos todos los dígitos (los que no se multiplicaron y los resultados del paso 3).

Paso 5: Verificar el módulo 10

Si la suma es múltiplo de 10 (termina en 0), el número es válido.

Ejemplo práctico paso a paso

Vamos a validar el número de tarjeta: 4532 1234 5678 9010

Paso 1: Eliminar espacios

4532123456789010

Paso 2: Trabajar de derecha a izquierda

Empezamos desde el penúltimo dígito (posición 2 desde la derecha):

4 5 3 2 1 2 3 4 5 6 7 8 9 0 1 0
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─ Posición 1 (no se multiplica)
│ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └─ Posición 2 (×2)
│ │ │ │ │ │ │ │ │ │ │ │ │ │ └─ Posición 3 (no se multiplica)
│ │ │ │ │ │ │ │ │ │ │ │ │ └─ Posición 4 (×2)
│ │ │ │ │ │ │ │ │ │ │ │ └─ Posición 5 (no se multiplica)
│ │ │ │ │ │ │ │ │ │ │ └─ Posición 6 (×2)
│ │ │ │ │ │ │ │ │ │ └─ Posición 7 (no se multiplica)
│ │ │ │ │ │ │ │ │ └─ Posición 8 (×2)
│ │ │ │ │ │ │ │ └─ Posición 9 (no se multiplica)
│ │ │ │ │ │ │ └─ Posición 10 (×2)
│ │ │ │ │ │ └─ Posición 11 (no se multiplica)
│ │ │ │ │ └─ Posición 12 (×2)
│ │ │ │ └─ Posición 13 (no se multiplica)
│ │ │ └─ Posición 14 (×2)
│ │ └─ Posición 15 (no se multiplica)
│ └─ Posición 16 (×2)

Paso 3: Multiplicar por 2 los dígitos en posiciones pares

Posiciones pares (desde la derecha): 2, 4, 6, 8, 10, 12, 14, 16

Posición 2:  1 × 2 = 2
Posición 4:  9 × 2 = 18 → 1 + 8 = 9
Posición 6:  7 × 2 = 14 → 1 + 4 = 5
Posición 8:  5 × 2 = 10 → 1 + 0 = 1
Posición 10: 3 × 2 = 6
Posición 12: 1 × 2 = 2
Posición 14: 3 × 2 = 6
Posición 16: 4 × 2 = 8

Paso 4: Sumar todos los dígitos

Dígitos que NO se multiplicaron (posiciones impares):

0 + 0 + 8 + 6 + 4 + 2 + 2 + 0 = 22

Dígitos resultantes de la multiplicación:

2 + 9 + 5 + 1 + 6 + 2 + 6 + 8 = 39

Suma total: 22 + 39 = 61

Paso 5: Verificar módulo 10

61 ÷ 10 = 6 con resto 1

Como el resto NO es 0, este número de tarjeta NO es válido según el algoritmo de Luhn.

Nota: Este era un ejemplo didáctico. Para validar números reales, utiliza nuestra herramienta gratuita de validación de tarjetas.

Identificar el tipo de tarjeta

El BIN (primeros dígitos) identifica el tipo de tarjeta:

Visa

  • Empieza con: 4
  • Longitud: 13 o 16 dígitos
  • Ejemplo: 4532123456789010

Mastercard

  • Empieza con: 51-55 o 2221-2720
  • Longitud: 16 dígitos
  • Ejemplo: 5555555555554444

American Express

  • Empieza con: 34 o 37
  • Longitud: 15 dígitos
  • Ejemplo: 378282246310005

Discover

  • Empieza con: 6011, 65, o 644-649
  • Longitud: 16 dígitos
  • Ejemplo: 6011111111111117

Diners Club

  • Empieza con: 36 o 38
  • Longitud: 14 dígitos
  • Ejemplo: 30569309025904

JCB

  • Empieza con: 35
  • Longitud: 16 dígitos
  • Ejemplo: 3530111333300000

Validación en tiempo real

Muchos sistemas de pago validan el número de tarjeta en tiempo real usando el algoritmo de Luhn antes de procesar el pago. Esto:

  • ✅ Detecta errores de tipeo inmediatamente
  • ✅ Mejora la experiencia del usuario
  • ✅ Reduce intentos de pago fallidos
  • ✅ No requiere conexión con el banco

Ejemplo de validación en formularios

// Pseudocódigo del algoritmo de Luhn
function validarLuhn(numeroTarjeta) {
  // Eliminar espacios
  numero = numeroTarjeta.replace(/\s/g, '');
  
  // Trabajar de derecha a izquierda
  suma = 0;
  alternar = false;
  
  for (i = numero.length - 1; i >= 0; i--) {
    digito = parseInt(numero[i]);
    
    if (alternar) {
      digito *= 2;
      if (digito > 9) {
        digito = Math.floor(digito / 10) + (digito % 10);
      }
    }
    
    suma += digito;
    alternar = !alternar;
  }
  
  return (suma % 10 === 0);
}

Herramienta: Utiliza nuestro validador de tarjetas para probar el algoritmo con cualquier número.

Errores comunes al validar tarjetas

Incluir espacios o guiones

  • Incorrecto: 4532-1234-5678-9010
  • Correcto: 4532123456789010 (sin espacios ni guiones)

Confundir tipos de tarjeta

  • Verificar que el BIN corresponde al tipo de tarjeta esperado

Validar solo con Luhn

  • El algoritmo de Luhn valida el formato, no la existencia de la tarjeta
  • Una tarjeta puede ser válida según Luhn pero no existir
  • Para validar completamente, se necesita verificar con el banco

Limitaciones del algoritmo de Luhn

El algoritmo de Luhn es útil pero tiene limitaciones:

✅ Lo que SÍ hace

  • Detecta errores de transcripción
  • Valida el formato del número
  • Identifica números mal formados

❌ Lo que NO hace

  • No verifica que la tarjeta existe
  • No comprueba que la tarjeta está activa
  • No valida que hay fondos disponibles
  • No verifica el CVV o fecha de caducidad
  • No previene el fraude

Seguridad y privacidad

⚠️ Nunca compartas tu número de tarjeta completo

  • El algoritmo de Luhn puede validar números sin necesidad de tener el número completo
  • Para pruebas, usa números de tarjeta de prueba (test cards)

Números de tarjeta de prueba

Para desarrollo y pruebas, puedes usar estos números (válidos según Luhn pero no reales):

  • Visa: 4111111111111111
  • Mastercard: 5555555555554444
  • American Express: 378282246310005

Importante: Estos números son solo para pruebas. No funcionan para pagos reales.

Casos de uso del algoritmo de Luhn

Validación en formularios

  • Validar números de tarjeta antes de enviar
  • Mejorar la experiencia del usuario
  • Reducir errores

Detección de fraudes

  • Identificar números de tarjeta mal formados
  • Filtrar intentos de pago con números inválidos

Procesamiento de pagos

  • Validación inicial antes de contactar con el banco
  • Reducir llamadas innecesarias a APIs de pago

Conclusión

El algoritmo de Luhn es una herramienta esencial para validar números de tarjetas de crédito y débito. Entender cómo funciona te ayuda a:

  • ✅ Validar números de tarjeta correctamente
  • ✅ Detectar errores de transcripción
  • ✅ Identificar el tipo de tarjeta
  • ✅ Implementar validación en tus aplicaciones

Si necesitas validar un número de tarjeta de forma rápida y precisa, utiliza nuestra herramienta gratuita. El proceso se realiza completamente en tu navegador, sin enviar datos a ningún servidor, garantizando tu privacidad.

Recuerda: el algoritmo de Luhn valida el formato, pero no verifica que la tarjeta existe o está activa. Para pagos reales, siempre se necesita verificar con el banco emisor.

Prueba nuestra herramienta

Valida cualquier tarjeta de crédito o débito usando el algoritmo de Luhn. Identifica el tipo de tarjeta y verifica que el número es correcto.

Usar Validador de Tarjeta de Crédito