Escribe tu sueldo y la fecha en que entraste a trabajar, y la calculadora te dice cuántos días de vacaciones te corresponden con la ley vigente desde 2023, cuántos te quedan, cuánto te pagan de prima vacacional y qué parte está exenta de ISR. También calcula las vacaciones proporcionales que entrarían en tu finiquito. Todo se calcula en tu navegador: no se envía nada.
Es una ayuda para hacer cuentas, no asesoría laboral ni fiscal. Usa los días de la Ley Federal del Trabajo, que son el mínimo: si tu contrato o tu empresa te dan más días o una prima mayor, cambia los datos. La parte exenta usa la UMA de 2026. Si tienes dudas sobre tus vacaciones, puedes pedir asesoría gratuita en la Procuraduría Federal de la Defensa del Trabajo (PROFEDET).
Cuántos días de vacaciones te tocan
Desde el 1 de enero de 2023, con la reforma conocida como «vacaciones dignas», el artículo 76 de la Ley Federal del Trabajo da 12 días al cumplir el primer año, dos más por cada año hasta llegar a 20 en el quinto y, a partir del sexto, dos más por cada cinco años de servicio. Son días laborables: no se cuentan los de descanso ni los festivos.
- Años de servicio cumplidosDías de vacaciones
- 112
- 214
- 316
- 418
- 520
- 6 a 1022
- 11 a 1524
- 16 a 2026
- 21 a 2528
- 26 a 3030
- 31 a 3532
Las reglas que conviene conocer
- Cuándo se disfrutan: el patrón debe darlas dentro de los seis meses siguientes a tu aniversario y entregarte cada año una constancia con tu antigüedad y tus días (artículo 81).
- Al menos 12 días seguidos: del total, 12 días deben ser continuos, y el resto lo puedes repartir como quieras (artículo 78).
- No se cambian por dinero: las vacaciones no pueden compensarse con un pago mientras sigas trabajando (artículo 79). Solo si la relación termina antes de cumplir el año se pagan en proporción al tiempo trabajado: es la parte de vacaciones del finiquito.
- Prima vacacional: al menos el 25 % del salario de los días de vacaciones (artículo 80). Con $600 diarios y 20 días, el pago es de $12,000 y la prima, de $3,000.
- Impuestos: la prima vacacional está exenta de ISR hasta 15 veces la UMA diaria al año: $1,759.65 en 2026 (artículo 93, fracción XIV, de la Ley del ISR). Lo que pasa de ahí se suma a tu sueldo del mes para la retención. El pago de los días de vacaciones es sueldo normal.
- Proporcionales: si dejas tu trabajo, te toca la parte de las vacaciones del año en curso: días del año × días trabajados desde tu último aniversario ÷ 365, más su prima. Si además tenías días pendientes de años anteriores, también se pagan.
Calcular las vacaciones en Python
Con Decimal y datetime.date, para que los centavos y los días salgan exactos. El ejemplo es el de la calculadora, al 31 de octubre de 2026:
from datetime import date, timedelta
from decimal import Decimal as D, ROUND_HALF_UP
UMA_2026 = D("117.31")
def al_centavo(x):
return x.quantize(D("0.01"), ROUND_HALF_UP)
def dias_vacaciones(anio):
"""Días del año de servicios número `anio` (LFT, art. 76): 12, 14, 16, 18, 20 y +2 por cada cinco años."""
return 10 + 2 * anio if anio <= 5 else 20 + 2 * -(-(anio - 5) // 5)
def sumar_meses(f, meses):
"""Como Date.UTC: un día que no existe pasa al mes siguiente (29 de febrero + 1 año = 1 de marzo)."""
a, m = divmod(f.month - 1 + meses, 12)
return date(f.year + a, m + 1, 1) + timedelta(f.day - 1)
def vacaciones(sueldo, ingreso, hoy, dividir_entre=30, tomados=0, prima=25):
"""sueldo del periodo; dividir_entre: 1 diario, 7 semanal, 15 quincenal, 30 mensual."""
sueldo = D(str(sueldo))
k = 0
while sumar_meses(ingreso, 12 * (k + 1)) <= hoy:
k += 1
aniversario = sumar_meses(ingreso, 12 * k)
en_curso = min((hoy - aniversario).days + 1, 365)
r = {"anios_cumplidos": k, "proximo_aniversario": sumar_meses(ingreso, 12 * (k + 1))}
if k >= 1: # el periodo ya ganado, que se disfruta en los seis meses siguientes al aniversario
pendientes = dias_vacaciones(k) - tomados
pago = al_centavo(sueldo * pendientes / dividir_entre)
prima_vac = al_centavo(pago * prima / 100)
exento = min(prima_vac, 15 * UMA_2026)
r.update(dias_del_periodo=dias_vacaciones(k), pendientes=pendientes,
limite=sumar_meses(ingreso, 12 * k + 6) - timedelta(1),
pago=pago, prima=prima_vac, prima_exenta=exento, prima_gravada=prima_vac - exento)
# Proporcionales del año en curso: lo que se paga en el finiquito si la relación termina hoy
dias_anio = dias_vacaciones(k + 1)
pago_prop = al_centavo(sueldo * dias_anio * en_curso / (dividir_entre * 365))
r.update(dias_acumulados=al_centavo(D(dias_anio * en_curso) / 365), pago_proporcional=pago_prop,
prima_proporcional=al_centavo(pago_prop * prima / 100))
return r
for clave, valor in vacaciones("18000", date(2021, 6, 15), date(2026, 10, 31), tomados=4).items():
print(f"{clave:20} {valor:>12,.2f}" if isinstance(valor, D) else f"{clave:20} {str(valor):>12}")
print()
print([dias_vacaciones(n) for n in (1, 2, 3, 4, 5, 6, 10, 11, 16, 21, 26, 31)])$ python3 vacaciones.pyanios_cumplidos 5 proximo_aniversario 2027-06-15 dias_del_periodo 20 pendientes 16 limite 2026-12-14 pago 9,600.00 prima 2,400.00 prima_exenta 1,759.65 prima_gravada 640.35 dias_acumulados 8.38 pago_proporcional 5,026.85 prima_proporcional 1,256.71 [12, 14, 16, 18, 20, 22, 22, 24, 26, 28, 30, 32]
Si dejas tu trabajo, la calculadora de finiquito y liquidación suma las vacaciones proporcionales al aguinaldo, la prima de antigüedad y las indemnizaciones. También te pueden servir la calculadora de aguinaldo, la de sueldo neto y la de días hábiles. Todas, en decodigo.com/herramientas.
Vacaciones: Ley Federal del Trabajo, artículos 76 a 81 (artículos 76 y 78 reformados en el DOF del 27 de diciembre de 2022). Parte exenta de la prima: Ley del ISR, artículo 93, fracción XIV. UMA 2026: INEGI, comunicado 1/26, en vigor desde el 1 de febrero de 2026. La herramienta y la función de Python se compararon en 20,000 cálculos al azar, con sueldos, periodos, fechas y días distintos: coinciden al centavo en todos.