Tecnología

Cómo Validar RUT Chileno en Java (Código Completo)

Implementación del algoritmo Módulo 11 en Java para validar RUTs chilenos. Clase completa con método de validación, formateo y pruebas unitarias.

2026-06-21 4 min lectura Rutificador Chile

Esta implementación del algoritmo Módulo 11 en Java es compatible con Spring Boot, Android y cualquier proyecto Java estándar.

public class RutValidator {
    
    public static String calcularDV(String cuerpo) {
        int[] serie = {2, 3, 4, 5, 6, 7};
        String invertido = new StringBuilder(cuerpo).reverse().toString();
        int suma = 0;
        for (int i = 0; i < invertido.length(); i++) {
            suma += Character.getNumericValue(invertido.charAt(i)) * serie[i % 6];
        }
        int resto = 11 - (suma % 11);
        if (resto == 11) return "0";
        if (resto == 10) return "K";
        return String.valueOf(resto);
    }
    
    public static boolean validarRut(String rut) {
        String clean = rut.replaceAll("[^0-9kK]", "").toUpperCase();
        if (clean.length() < 2) return false;
        String cuerpo = clean.substring(0, clean.length() - 1);
        String dv = clean.substring(clean.length() - 1);
        return calcularDV(cuerpo).equals(dv);
    }
    
    public static void main(String[] args) {
        System.out.println(validarRut("12.345.678-5")); // true
        System.out.println(validarRut("12345678-9"));   // false
    }
}

Preguntas frecuentes

¿Esta clase funciona con Spring Validation?

Sí. Puedes crear una anotación @ValidRut personalizada que internamente llame a RutValidator.validarRut().

Busca el RUT de cualquier persona en Chile

El Rutificador de nombreyrut.com es gratuito y tiene millones de registros públicos.