Cron Expression Generator & Explainer
Build a valid cron expression field by field, read it back in plain English, and see the next scheduled run times before you deploy it.
Selecting one fills the fields below.
0–59. Use * for every minute, */15 for every 15.
0–23. Use */2 for every second hour.
1–31.
1–12, or names such as jan, feb.
0–6 (0 = Sunday), or names such as mon-fri.
In plain English
Runs at 09:00, on Monday, Tuesday, Wednesday, Thursday and Friday.
- Minute (0)
- 00
- Hour (9)
- 09
- Day of month (*)
- every value
- Month (*)
- every value
- Day of week (1-5)
- Monday, Tuesday, Wednesday, Thursday and Friday
*, single values, a-b ranges, a,b,c lists and */n steps. Quartz-only tokens (?, L, W, #, seconds, years) are rejected rather than reinterpreted, because the same token can mean something different on another scheduler.How it works
- Pick a common schedule, or fill in the five fields yourself.
- Read the plain-English explanation to confirm the schedule means what you intended.
- Check the next five run times before deploying the expression.
Frequently Asked Questions
Which cron syntax is supported?
The classic five-field syntax used by Vixie cron and crontab: minute, hour, day of month, month and day of week, including ranges, lists and step values. Quartz-only extensions such as ?, L, W and # are rejected rather than accepted with a different meaning, because a schedule that means something else on your server is worse than an error.
Why does my schedule run more often than expected?
If you restrict BOTH day of month and day of week, standard cron treats them as OR, not AND — the job runs when either matches. This surprises almost everyone, so the tool warns you explicitly whenever your expression has that shape.
How do the next run times help?
They are computed from your actual expression, so you can confirm the schedule does what you meant before deploying it. Times are shown in UTC, because the timezone a cron job uses is decided by the server, not the expression.
Is my expression sent anywhere to be parsed?
No. Parsing, explanation and the run-time preview are all computed in your browser with a purpose-written parser — no remote service and no code evaluation.