Rutificador

Sobre el sitio

Metodología y fuentes

Cómo calcula, genera y valida RUT Rutificador, y en qué fuentes oficiales se basa. Todo ocurre en tu navegador.

Ficha técnica

Algoritmo
Módulo 11
Serie
2, 3, 4, 5, 6, 7
Dígito
0–9 o K
Rango
1.000.000–40.000.000
Por tanda
35 RUT distintos
Dónde
En tu navegador

01Algoritmo

Cómo se calcula el dígito verificador

El RUT usa módulo 11, una suma ponderada de sus dígitos. Un dígito mal escrito o dos dígitos vecinos intercambiados cambian el resultado: así se detectan los errores de tipeo.

  1. 1Toma el número del RUT, sin el dígito verificador.
  2. 2Multiplica cada dígito por la serie 2, 3, 4, 5, 6, 7, de derecha a izquierda. Si el número tiene más de seis dígitos, la serie vuelve a empezar en 2.
  3. 3Suma todos los productos.
  4. 4Divide la suma por 11 y quédate con el resto.
  5. 5Resta ese resto a 11.
  6. 6Si el resultado es 11, el dígito verificador es 0; si es 10, es K. En cualquier otro caso, es el resultado.

Ejemplo

12.345.678-5

Dígitos12345678
× Serie32765432
=34212425242116

Suma 138138 mód 11 = 611 − 6 = 5

Los dos casos especiales

11 − 0 = 11 → 0
13.841.882-0
11 − 1 = 10 → K
11.417.369-K

02Generación

Cómo se generan los RUT

Cada tanda es una lista de números al azar, cada uno con su dígito verificador calculado como arriba.

Rango
Números entre 1.000.000 y 40.000.000, ambos incluidos: de 7 u 8 dígitos, como la mayoría de los RUN de personas. Los RUT de empresas suelen estar sobre los 50.000.000 y quedan fuera.
Azar
Cada número del rango tiene la misma probabilidad de salir. Se usa el generador aleatorio del navegador (Math.random): basta para datos de prueba, pero no es criptográfico.
Sin repetidos
Los RUT de una misma tanda son siempre distintos y se ordenan de menor a mayor. Entre una tanda y otra alguno podría repetirse, porque no guardamos lo que generas.
Dígito verificador
Se calcula con módulo 11 para cada número, así que todos los RUT generados pasan cualquier validación del dígito.
Formato
Con puntos y guion (12.345.678-5) o sin puntos (12345678-5). Al descargarlos, queda un RUT por línea.
Dónde
En tu navegador. No se consulta ningún registro ni se envía nada a un servidor.

03Validación

Qué comprueba el validador

Solo que el dígito verificador corresponda al número. Lo hace en cuatro pasos.

  1. 1Limpia lo que escribiste: deja solo los números y la K, y pasa la k a mayúscula. Da lo mismo si usaste puntos o guion.
  2. 2Toma el último carácter como dígito verificador y el resto como número.
  3. 3Calcula el dígito que corresponde a ese número con módulo 11.
  4. 4Si coincide con el que escribiste, el RUT es válido; si no, es inválido.

04Implementación

El cálculo en código

La función que calcula el dígito verificador en el sitio, en TypeScript. Es la que usan el generador y la tabla del ejemplo.

TypeScript
const WEIGHTS = [2, 3, 4, 5, 6, 7];

export function computeDv(body: string | number) {
  const digits = String(body).replace(/\D/g, '').split('').map(Number);
  const sum = digits.reduce(
    (total, digit, i) =>
      total + digit * WEIGHTS[(digits.length - 1 - i) % WEIGHTS.length],
    0,
  );
  const result = 11 - (sum % 11);
  return result === 11 ? '0' : result === 10 ? 'K' : String(result);
}
computeDv('12.345.678'); // '5'

05Fuentes

Fuentes oficiales y referencias

El RUT y su dígito verificador los definen estas instituciones. Rutificador no tiene relación con ellas.

Referencias técnicas

Módulo 11
Familia de algoritmos de suma ponderada que usa el resto de dividir por 11. Se usa en números de identificación de varios países; el RUT usa la serie 2 a 7.
ISO/IEC 7064
Estándar internacional de sistemas de caracteres de verificación. El RUT no lo sigue al pie de la letra (tiene su propia serie y usa la K para el 10), pero se basa en la misma idea.

Revisamos periódicamente la información del SII y del Registro Civil para que el sitio siga al día ante cualquier cambio oficial. Si encuentras un caso en que Rutificador y una fuente oficial no coinciden, escríbenos a hola@nicovega.dev.

06Uso

Para qué sirven los RUT generados

Los RUT generados son válidos según el módulo 11, pero no se obtienen de ningún registro: no corresponden necesariamente a personas o empresas reales, aunque pueden coincidir por azar con alguna. Su uso debe limitarse a:

  • Pruebas de desarrollo de software.
  • Validación de formularios.
  • Fines educativos.
  • Demostraciones de sistemas.

Los usos prohibidos están en los términos y condiciones. Si eres desarrollador y tienes preguntas técnicas sobre la implementación, escríbenos a hola@nicovega.dev.