Explain a cron expression
Paste a cron schedule and read what it means in plain words, with its next run times in your time zone or UTC. Crontab lines with commands work too.
Your result is ready
Cron expression parser in three steps
A cron line such as */15 9-17 * * 1-5 is quick to write and slow to read, and a schedule read wrongly is a job that runs at three in the morning or not at all. This spells out what each field means and lists the next times the schedule fires, so you can check it before deploying it.
What it explains
Paste the expression, or a whole crontab line with its command after the schedule. The five fields are read, checked against their ranges, and described in words: which minutes and hours, which days, which months. Consecutive values are read as ranges, so days 1 to 5 of the week read as Monday to Friday.
One rule catches out almost everyone. When an expression restricts both the day of the month and the day of the week, cron runs on a day that matches either, not both. The explanation says so whenever that applies, because that is the case where a schedule most often runs far more than intended.
Next run times
The next 5, 10 or 25 runs are listed in your device’s time zone or in UTC. A schedule that can never fire, such as the 31st of February, is reported as never running instead of producing an empty list.
What it will not read
Six- and seven-field expressions and the Quartz symbols ?, L, W and # are refused with an explanation, rather than read as if they were crontab. Everything runs in this browser tab.
- 1
Paste a cron expression or a crontab line
- 2
Choose the time zone and how many runs to list
- 3
Read the explanation and the next run times
Frequently asked questions
Which cron format does it read?
The standard five fields used by crontab, minute, hour, day of month, month and day of week, with lists, ranges, steps, month and day names, 7 as Sunday, and the shorthands such as @daily and @weekly.
Why does 0 0 1 * 1 run on more than the first Monday?
Because when both day of month and day of week are set, cron runs on any day that matches either one. That schedule runs on the 1st of every month and on every Monday. The explanation points this out whenever an expression sets both.
Can it read Quartz or six-field expressions?
No, and it says so rather than guessing. Quartz and similar schedulers add a seconds field and use ?, L, W and
Which time zone are the run times in?
Your device's time zone by default, or UTC if you choose it. Check which zone the server running the job uses. A local time skipped by a daylight-saving change is not listed as a run.