Build cron schedules visually in standard 5-field or Quartz 6-field syntax, with plain-English descriptions and next run times.
0 9 * * 1-5This tool runs 100% in your browser. All computation happens locally on your device — your input is never uploaded to any server. Results are for reference only.
A cron expression is just five time fields separated by spaces, one per time dimension: minute, hour, day-of-month, month, day-of-week. Combined, they describe one repeating instant. Quartz prepends a seconds field, making it six.
Each field is a filter the scheduler checks. '*' matches every value; '1-5', '*/15' and '5,17' are ranges, steps and lists. A job only fires when every field drops out true.
Progressive example, from trivial to precise.
To generate a cron expression: select your schedule (every 5 minutes, daily at 9am, etc.) — the tool outputs the cron syntax and a plain-English description of what it does.
FreeToolHub Cron Generator is a free browser-based tool that creates cron expressions with human-readable descriptions, no signup.
Crea programaciones cron visualmente con cambio de dialecto (estándar de 5 campos y Quartz de 6), descripciones en lenguaje natural y las próximas 5 ejecuciones. Gratis, sin registro, 100% local.
Esta herramienta construye expresiones cron visualmente en lugar de memorizadas, y habla dos dialectos: la sintaxis Unix estándar de cinco campos que usa crontab, y la sintaxis Quartz de seis campos que usan Spring, Jenkins, Salesforce y la mayoría de los planificadores de Java. Elige tu programación entre doce preajustes comunes (diario a medianoche, cada hora, días laborables a las 9, semanal, mensual, cada N días) o monta cualquier programación campo a campo, y emite la expresión con una descripción legible en lenguaje claro de lo que hará. También calcula las próximas cinco ejecuciones para que puedas verificar que la expresión realmente se dispara cuando crees, que es el paso que evita el clásico error silencioso de cron.
Desarrolladores que configuran trabajos programados en crontab, procesos de CI/CD, CronJob de Kubernetes o planificadores en la nube sin tener la sintaxis de cron en la cabeza. Desarrolladores de Java y Spring que necesitan el campo de segundos de Quartz y el marcador ?, y que constantemente confunden la numeración de día de la semana de Quartz (1 = domingo) con la de cron estándar (0 = domingo). Ingenieros de ops que escriben programaciones de backup, limpieza e informes y necesitan confirmar el comportamiento de la próxima ejecución antes de comprometerse. Y cualquiera que migre una expresión entre sistemas y necesite comprobar si 0 9 * * 1 significa lo mismo en ambos.
(1) Elige tu dialecto con el conmutador: Standard 5-field o Quartz 6-field; la fila de campos se actualiza para mostrar los segundos y la numeración de día de la semana correcta. (2) Parte de un preajuste más cercano a tu intención, o afina campos individualmente: cada campo enfocado expone los valores rápidos que son legales ahí, incluidos L, W y # cuando el dialecto los soporta. (3) Lee la descripción legible, que explica los caracteres especiales en lenguaje claro, y comprueba las próximas cinco ejecuciones renderizadas desde tu reloj local. (4) Copia la expresión en crontab, una anotación @Scheduled de Spring, un trigger de Jenkins o la configuración de un planificador.
Una expresión cron estándar son cinco campos separados por espacios: minuto (0-59), hora (0-23), día del mes (1-31), mes (1-12) y día de la semana (0-6, con domingo = 0). Quartz amplía esto a seis campos obligatorios añadiendo los segundos al principio (y un año opcional al final), cambia el día de la semana a 1-7 con domingo = 1, y añade los caracteres especiales ? (sin valor específico, solo en campos de día), L (último día del mes o último día laborable), W (día laborable más cercano) y # (día n de la semana en el mes). La expresión 0 9 * * 1-5 se dispara a las 9:00 de lunes a viernes en cron estándar; el equivalente en Quartz es 0 0 9 * * ? o, para las 9:30 en punto, 0 30 9 * * ?. La trampa que causa la mayoría de los incidentes de producción: en cron estándar, cuando ambos campos de día están restringidos se combinan con OR, así que 0 0 1 * 1 se dispara el primer día del mes Y cada lunes. Quartz evita esto exigiendo ? en uno de los dos campos de día. Cron usa la zona horaria local del servidor salvo que se configure TZ, así que un servidor en UTC ejecutando 0 9 * * * se dispara a las 4 AM en Nueva York durante el horario estándar. Antes de comprometer cualquier programación, pega la expresión en la vista previa de próximas ejecuciones de aquí: treinta segundos de verificación superan a un mes de backups perdidos en silencio.
Diferencias de dialecto. El cron clásico Vixie usa cinco campos (minuto hora día mes día de la semana); Quartz añade un campo de segundos al principio y un año al final, y usa ? para los campos de día no usados; algunos sistemas aceptan abreviaturas como @daily y otros no. Una expresión que funciona en Linux suele ser rechazada por un planificador Quartz y viceversa. Elige primero el dialecto: el generador escribe y valida contra la gramática de ese dialecto.
* significa todos los valores del rango (cada minuto, cada día). /n avanza por el rango: */15 en el campo de minutos significa cada 15 minutos (0, 15, 30, 45). Los rangos con pasos como 10-40/10 dan 10, 20, 30, 40. Combinarlos mal es el bug clásico de cron: */5 en el campo de horas no es «cada 5 horas desde medianoche» en todos los dialectos salvo que el rango sea explícito (0-23/5). La vista previa en vivo muestra las próximas cinco ejecuciones para que los malentendidos salgan a la superficie de inmediato.
La del servidor, no la tuya, que es la sorpresa más común de cron. Una tarea de las 9 AM en un servidor UTC se ejecuta a las 2 AM en Los Ángeles, lo cual está bien hasta que el horario de verano desplaza un lado. La mayoría de los planificadores gestionados (Cloudflare Cron Triggers, GitHub Actions) corren en UTC y te dejan aplicar el desplazamiento en el código; algunos (App Engine, Kubernetes CronJob) admiten zonas horarias explícitas. Genera la expresión aquí y luego comprueba dónde ancla la medianoche la plataforma que la ejecutará.
Ambos, en cron estándar: 0 y 7 se aceptan como nombres del domingo, mientras que 1-6 son de lunes a sábado. Quartz es distinto: 1 es el domingo y 7 es el sábado (los nombres SUN-SAT funcionan en todas partes). Una expresión escrita a mano que use 7 para el sábado en Quartz significa domingo. Esta es exactamente la clase de error que la validación consciente del dialecto captura: los mismos dígitos, un calendario distinto.
A standard cron expression has 5 fields: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), and day-of-week (0-7, where 0 and 7 are Sunday). For example, 0 9 * * 1-5 runs at 9:00 AM Monday through Friday. This tool supports the standard 5-field syntax and the Quartz 6-field syntax, then shows the next 5 run times.
Quartz adds a leading seconds field (making 6 required fields) and an optional trailing year field, uses 1-7 or SUN-SAT for day-of-week (1 = Sunday, unlike standard cron where 0 = Sunday), and supports special characters ? L W and # in day fields. 0 0 9 * * ? means 9:00:00 AM every day in Quartz, while the 5-field standard equivalent is 0 9 * * *. Switch the dialect toggle above to convert between them.
L means last - L in day-of-month is the last day of the month, and 6L in day-of-week is the last Friday of the month. W stands for weekday - 15W fires on the weekday nearest the 15th, staying inside the same month. # picks the nth weekday - 3#2 means the second Monday of the month. All three are Quartz-only and are described in plain English by this tool when you use them.
The tool displays next 5 run times in your local timezone. Cron jobs on servers typically run in UTC - if your server is in UTC and you need a 9 AM EST job, the cron expression would be 0 14 * * 1-5 (14:00 UTC = 9:00 AM EST). The tool shows both the human-readable description and the exact cron string.
Esta herramienta también se conoce por estas tareas — cada enlace abre la misma herramienta con una guía enfocada:
What do you call a really smart cookie?
No signups, no data sold. Every tool is free to use — the free tier allows 5 downloads or saves per day, and the optional Pro plan ($7/mo, $59/yr) adds unlimited downloads, batch processing, white-label exports and an ad-free experience.
☕Support me on Ko-fi— support the free tier100% of proceeds go towards hosting & building more free tools.