v1.0.1 • MIT License

Valida y formatea RUTs chilenos en segundos

Librería TypeScript de alto rendimiento. Zero dependencies, tree-shakeable, con protección DoS integrada.

npm install chilean-rut-formatter
Scroll

Características

Todo lo que necesitas para trabajar con RUTs chilenos

Validación

Algoritmo Módulo 11 oficial para validar RUTs correctamente

Alto Rendimiento

Regex pre-compilados, early returns y mínimas allocations

📦

Zero Dependencies

Sin dependencias externas. Ligero y rápido

🛡️

Seguro

Sanitización de input y protección contra DoS

📝

TypeScript

Tipos incluidos para autocompletado y type safety

🌳

Tree-shakeable

Soporte ESM y CJS. Importa solo lo que necesitas

Demo Interactivo

Prueba la librería en tiempo real

Validación -
Formateado -
Limpio -
Dígito Verificador -
Ejemplos:

Ejemplos de Código

Fácil de usar en cualquier proyecto

import { validateRut, isValidRut } from 'chilean-rut-formatter';

// Validación completa con detalles
const result = validateRut('12.345.678-5');
// { isValid: true, rut: '123456785' }

const invalid = validateRut('12345678-0');
// { isValid: false, error: 'Invalid verification digit' }

// Verificación booleana simple
isValidRut('12.345.678-5'); // true
isValidRut('12345678-0');   // false
import { formatRut } from 'chilean-rut-formatter';

// Por defecto: con puntos y guión
formatRut('123456785');         // '12.345.678-5'
formatRut('12345678K');         // '12.345.678-K'

// Opciones personalizadas
formatRut('123456785', { dots: false });       // '12345678-5'
formatRut('123456785', { dash: false });       // '12.345.6785'
formatRut('12345678K', { uppercase: false });  // '12.345.678-k'
import { formatRutPartial } from 'chilean-rut-formatter';

// Perfecto para formateo mientras el usuario escribe
formatRutPartial('1');         // '1'
formatRutPartial('12');        // '1-2'
formatRutPartial('12345');     // '1.234-5'
formatRutPartial('123456789'); // '12.345.678-9'

// Uso en React
const handleChange = (e) => {
  const formatted = formatRutPartial(e.target.value);
  setRut(formatted);
};

API Reference

Todas las funciones disponibles

Función Descripción Retorna
validateRut(rut) Valida un RUT y retorna detalles { isValid, rut?, error? }
isValidRut(rut) Verificación booleana simple boolean
formatRut(rut, options?) Formatea un RUT válido string
formatRutPartial(rut, options?) Formateo en tiempo real string
cleanRut(input) Limpia caracteres no válidos string
calculateVerificationDigit(body) Calcula el dígito verificador string