Cron Generator
Build a cron expression with dropdowns, or paste one to read it in plain English with its next five run times.
Build an expression
Cron expression
Explain an expression
In plain English
Next 5 runs (your local time)
Common examples
| Expression | Meaning |
|---|---|
| * * * * * | Every minute |
| */5 * * * * | Every 5 minutes |
| 0 * * * * | Every hour, on the hour |
| 0 9 * * 1-5 | At 09:00, Monday to Friday |
| 30 8 * * 0 | At 08:30 every Sunday |
| 0 0 1 * * | Midnight on the 1st of each month |
| 0 0 * * 0 | Midnight every Sunday |
| 15 14 1 * * | At 14:15 on the 1st of each month |
The five cron fields
A cron expression is five fields separated by spaces:
minute hour day-of-month month day-of-week. Each field takes a number, a
* for "any", a step like */10, a range like 1-5, a list
like 1,15,30, or a combination. The builder above assembles a valid expression
from dropdowns so you never have to remember the order; the explainer goes the other way,
turning any expression into a sentence and showing exactly when it will next fire.
Reading the special characters
*- every value for that field*/5- every 5th value (a step)1-5- an inclusive range, Monday to Friday in the weekday field1,15- a list of specific values0-30/10- a range with a step, so 0, 10, 20, 30
The day-of-month and day-of-week trap
The one rule that catches everyone: when both the day-of-month and the day-of-week fields are
set to something other than *, cron runs the job when either matches,
not both. So 0 0 13 * 5 runs at midnight on the 13th of every month and on every
Friday - it is not limited to Friday the 13th. The next-run predictions above use this same
OR rule, so what you see is what your server will actually do.
Scheduling a build or a data export? Pair this with the Unix timestamp converter for log wrangling, the JSON formatter for config files, and the time zone converter when your server clock is not local.