Cron Expression Explainer
Paste a standard five-field cron line and read it back in plain English, with the next run times in your own time zone.
Minute hour day-of-month month day-of-week. Supports *, lists, ranges, steps and @daily style shortcuts.
| Next runs | In |
|---|
About
Five fields, a handful of operators and one easily forgotten rule about combining day-of-month with day-of-week: cron syntax is compact but easy to get subtly wrong. This tool translates an expression into a sentence and lists the next runs in your own time zone, which is the quickest way to confirm the schedule you meant.
How to use
- Paste the five-field expression, or a shortcut such as @daily.
- Read the plain-English description.
- Check the next run times against what you expected.
Frequently asked questions
What happens when both day fields are set?
The entry runs when either field matches, not both. Writing 0 0 1 * 1 runs on the first of the month and on every Monday, which surprises most people the first time.
Are the times in my time zone?
Yes, the next runs are calculated with your browser time zone. Server cron daemons usually run in the server own zone, often UTC, so check that separately.
What does the step operator do?
It takes every nth value in the range. */15 in the minute field means every fifteen minutes, and 0-30/10 means minutes zero, ten, twenty and thirty.
Is this the same as systemd timers?
No. systemd uses its own calendar syntax, which looks similar but is not interchangeable.