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”
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)
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).
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:
Feriados Chile 2026
Calendario oficial de feriados irrenunciables
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.
Consulta días hábiles de Chile desde tu app
Sin mantener listas. Sin bugs de año nuevo. Siempre actualizado.
API key gratis →