Cron Expression Generator
Build a cron expression from dropdowns for each field, with a plain-English description and the next run times as you go.
Processed locally in your browser — nothing is uploaded.
Cron Expression Generator
Cron expression
* * * * *
Every minute.
About Cron Expression Generator
The inverse of reading a cron expression: choose how each field behaves — every value, specific values, a range, or every N — and the expression assembles itself. It is described back to you in plain English and checked against the calendar, so you see the next few run times before the schedule ever reaches a server.
Everything is standard 5-field cron (minute, hour, day-of-month, month, day-of-week), which is what crontab, most CI systems, and Kubernetes CronJobs accept.
Common uses
- Write a crontab line without looking up the field order again
- Build a business-hours schedule and confirm it skips weekends
- Check that a nightly job lands at the hour you intended
Example
Input
Minute every 15 · Hour 9–17 · Day of week 1–5
Output
*/15 9-17 * * 1-5 — every 15 minutes between 09:00 and 17:59, Monday through Friday
Limitations
- Next runs are shown in your local timezone; servers commonly run cron in UTC
- Standard 5-field cron only — no seconds field, and no Quartz syntax (?, L, W, #)
- When both day-of-month and day-of-week are restricted, cron runs on days matching EITHER, which surprises people
Frequently asked questions
Does the schedule I build here reach any server?
No. The expression, its description, and the next run times are all computed locally in your browser — nothing about your job schedules is transmitted or stored.
How do I write a cron expression for every weekday at 9am?
0 9 * * 1-5 — minute 0, hour 9, any day of month, any month, days 1 through 5 (Monday to Friday). Remember that the server evaluates the hour in its own timezone, often UTC.
Why does my cron job run on more days than I selected?
When both day-of-month and day-of-week are restricted, standard cron runs on days matching either field, not both. So 0 0 13 * 5 fires on every 13th and every Friday — not only on Friday the 13th.
Can cron run a job every 90 minutes?
Not with a single expression. Step values only repeat within one field, so */90 in the minute field just means minute 0. Intervals that don't divide evenly into an hour or a day need two or more crontab lines, or a scheduler like systemd timers.
Will the generated expression work in Kubernetes or CI schedulers?
Yes for anything that accepts standard 5-field cron — crontab, Kubernetes CronJobs, GitHub Actions, and most CI systems. It won't work in schedulers that require a seconds field or Quartz syntax (?, L, W, #), like some Java-based systems.