Calcular días hábiles en Chile parece simple hasta que te encuentras con la Semana Santa, el Día del Trabajo o cualquier feriado que cae en martes y deja al país con un lunes de facto libre.
Este artículo explica cómo hacerlo bien, qué errores evitar y cómo automatizarlo con una API.
Qué es un día hábil en Chile
En Chile, los días hábiles son de lunes a viernes, excluyendo los feriados irrenunciables establecidos por ley. Los sábados no son hábiles para efectos laborales y tributarios, aunque algunos contratos los incluyen.
Los feriados en Chile se dividen en:
- Irrenunciables: el trabajador no puede renunciar a ellos ni el empleador obligarlos a trabajar (1 de mayo, 18 y 19 de septiembre, Navidad, etc.)
- No irrenunciables: el empleador puede pactar que se trabajen a cambio de compensación
Para calcular plazos contractuales, SLA o fechas de pago, la referencia es el calendario del Banco Central y el SII.
El problema de las soluciones caseras
La mayoría de los equipos resuelve esto con un array hardcodeado:
const feriadosChile2026 = [
"2026-01-01",
"2026-04-03",
"2026-04-04",
// ...
];
El problema es evidente: alguien tiene que actualizar ese array cada año. Y cuando el Congreso aprueba un feriado extraordinario —como ocurrió en 2022 con el plebiscito— el array está desactualizado antes de que nadie se dé cuenta.
Cómo calcular días hábiles en JavaScript
Una función básica que excluye fines de semana y una lista de feriados:
function esDiaHabil(fecha, feriados = []) {
const dia = fecha.getDay(); // 0 = domingo, 6 = sábado
if (dia === 0 || dia === 6) return false;
const iso = fecha.toISOString().split("T")[0];
return !feriados.includes(iso);
}
function agregarDiasHabiles(fechaInicio, dias, feriados = []) {
let fecha = new Date(fechaInicio);
let contados = 0;
while (contados < dias) {
fecha.setDate(fecha.getDate() + 1);
if (esDiaHabil(fecha, feriados)) {
contados++;
}
}
return fecha;
}
El problema: necesitas pasar feriados como parámetro. Y obtener esa lista de forma confiable es el desafío real.
Usando la API de feriados.io
Con la API de feriados.io no necesitas mantener listas. El endpoint /v1/CL/is-business-day te dice si una fecha es hábil en Chile:
const response = await fetch(
"https://api.feriados.io/v1/CL/is-business-day?date=2026-04-03",
{ headers: { "Authorization": "Bearer frd_tu_key" } }
);
const { data } = await response.json();
// data.is_business_day: false
// data.day_of_week: "Friday"
Para agregar días hábiles, el endpoint /v1/CL/business-days/add hace el cálculo en el servidor (requiere plan Starter, Team o Business):
const response = await fetch(
"https://api.feriados.io/v1/CL/business-days/add?date=2026-04-01&days=5",
{ headers: { "Authorization": "Bearer frd_tu_key" } }
);
const { data } = await response.json();
// data.result_date: "2026-04-09" (saltando Viernes Santo y fines de semana)
Feriados de Chile 2026 que más afectan los cálculos
Los feriados que más impactan en plazos de días hábiles son los que caen entre semana o generan puentes:
| Fecha | Feriado |
|---|---|
| 1 enero | Año Nuevo |
| 3 abril | Viernes Santo |
| 4 abril | Sábado Santo |
| 1 mayo | Día del Trabajo |
| 21 mayo | Glorias Navales |
| 21 junio | Día Nacional de los Pueblos Indígenas |
| 29 junio | San Pedro y San Pablo |
| 16 julio | Virgen del Carmen |
| 15 agosto | Asunción de la Virgen |
| 18 septiembre | Independencia |
| 19 septiembre | Día de las Glorias del Ejército |
| 12 octubre | Encuentro de Dos Mundos |
| 31 octubre | Día de las Iglesias Evangélicas |
| 1 noviembre | Día de Todos los Santos |
| 8 diciembre | Inmaculada Concepción |
| 25 diciembre | Navidad |
Cuándo importa realmente
Los errores de cálculo de días hábiles tienen consecuencias concretas:
- Pagos automáticos: un cobro que cae en Viernes Santo puede quedar en suspense y generar confusión o doble cobro
- Plazos contractuales: en contratos con penalidades por plazo, un día de diferencia puede ser un incumplimiento
- Nóminas: las liquidaciones de sueldo deben calcularse con los días efectivamente trabajados
- Promesas de entrega en ecommerce: mostrar “llega el martes” cuando el martes es feriado daña la confianza del cliente
La solución más simple y robusta es delegar el cálculo a una fuente actualizada automáticamente.
¿Necesitas estos cálculos en tu app? Empezar gratis → · Documentación del endpoint →
Ver también: Cómo calcular días hábiles en JavaScript sin librerías · Feriados Chile 2026: lista completa · Chile Holiday API → · Documentación del endpoint →