Una expresión cron describe cuándo se repite una tarea programada. Aquí la escribes (o la construyes a clics) y la herramienta te dice en lenguaje natural cuándo se ejecutará, te lista las próximas 10 ocurrencias, las dibuja en un calendario y te genera la configuración lista para Kubernetes, Spring o GitHub Actions. Todo en tu navegador, sin servidor.
Una expresión estándar tiene 5 campos separados por espacios, siempre en este orden:
• Minuto — 0-59
• Hora — 0-23 (formato 24 h)
• Día del mes — 1-31
• Mes — 1-12
• Día de la semana — 0-7 (0 y 7 = domingo, 1 = lunes … 6 = sábado)
Se leen de izquierda a derecha: 0 9 * * 1-5 = minuto 0, hora 9, cualquier día del mes, cualquier mes, de lunes a viernes → «a las 09:00, de lunes a viernes».
Con el interruptor 6 campos (con segundos) se antepone un campo de segundos (0-59), útil para copiar formatos que lo piden (p. ej. Spring); el cálculo de próximas ejecuciones sigue trabajando al minuto.
En cada campo puedes combinar estos símbolos:
• * — cualquier valor. * * * * * = cada minuto.
• ? — igual que * («cualquiera»); se acepta por compatibilidad.
• , — lista de valores sueltos. 0 0 1,15 * * = los días 1 y 15 a medianoche.
• - — rango. 0 9 * * 1-5 = de lunes (1) a viernes (5).
• */N — cada N desde el principio del rango. */5 * * * * = cada 5 minutos (0, 5, 10…).
• A-B/N — cada N dentro de un rango. 0-30/10 * * * * = en los minutos 0, 10, 20 y 30.
Se pueden mezclar en el mismo campo con comas: 0,30 9-18 * * * = en punto y a y media, de 9 a 18 h.
Ojo: esta herramienta trabaja solo con números. No admite nombres (MON, JAN) ni los comodines avanzados L, W ni #: si los usas, la expresión se marca como no válida.
Arriba tienes botones de preset que rellenan la expresión de un clic (cada minuto, cada 5/15 min, cada hora, diario a medianoche, L–V a las 9, día 1 del mes, domingos a las 3, cada trimestre).
También puedes escribir un alias con @ en lugar de los 5 campos:
• @hourly = 0 * * * *
• @daily / @midnight = 0 0 * * *
• @weekly = 0 0 * * 0 (domingos a medianoche)
• @monthly = 0 0 1 * * (día 1 a medianoche)
• @yearly / @annually = 0 0 1 1 * (1 de enero)
Al validar, el alias se expande a sus 5 campos automáticamente.
Si no quieres escribir la sintaxis, constrúyela a clics. Cada campo (minuto, hora, día de la semana, día del mes, mes) es una rejilla de casillas: pulsa las que quieras incluir y la expresión se actualiza al instante en la caja de arriba.
• Una casilla sin nada seleccionado (o con todo seleccionado) equivale a *, «cualquier valor».
• El botón limpiar de cada campo lo devuelve a *.
• El resumen junto a cada campo te muestra el valor actual (p. ej. 0,30 o los nombres de mes/día).
• El interruptor 6 campos añade la rejilla de segundos.
Funciona en ambos sentidos: si escribes la expresión a mano, la rejilla se sincroniza para reflejarla.
• Día del mes y día de la semana juntos: si restringes ambos a la vez (ninguno es *), esta herramienta solo dispara cuando coinciden los dos. Por ejemplo 0 0 13 * 5 se ejecuta los días 13 que además caen en viernes. Deja uno en * si quieres el comportamiento más habitual.
• Domingo es 0 y 7: * * * * 0 y * * * * 7 son lo mismo.
• Solo números: nada de MON, JAN, L, W o # (ver «Caracteres especiales»).
• Los segundos no cambian el cálculo: el 6.º campo se conserva para exportar, pero las próximas ejecuciones se calculan al minuto.
• Hora local: las fechas mostradas usan la zona horaria de tu equipo; el destino donde despliegues puede usar otra (p. ej. UTC).