Cron expression builder and explainer
You wrote a schedule for a job and you are not certain when it will actually fire. Cron Builder puts the expression together one field at a time — minute, hour, day of month, month, day of week — reads the result back in plain English, and lists the next five runs as real dates and times.
It also flags the case where cron does not count the way most people assume. When both the day-of-month field and the day-of-week field are restricted, the job runs whenever either one matches, not only when both do. 0 0 1 * 1 fires on the 1st of every month and on every Monday — not just on Mondays that happen to be the 1st. Getting that backwards turns a schedule that runs about five times a month into one you think runs once a year.
1-5, 1,15,30, */15JAN, MON@hourly, @daily, @midnight, @weekly, @monthly, @yearly7 as Sunday in the day-of-week field, and ? in either day field0 0 30 2 * is reported as having no matching date, instead of being given an invented oneL, W and # extensions are rejected with a message naming the field, rather than being quietly misread* * * * * every minute*/5 * * * * every 5 minutes0 * * * * at minute 0 of every hour0 0 * * * at 00:00 every day0 9 * * * at 09:00 every day0 9 * * 1 at 09:00 on Monday0 9 * * 1-5 at 09:00, Monday through Friday0 0 1 * * at midnight on the 1st of each month0 0 1 1 * at midnight on January 1st0 0 1 * 1 both day fields set — the 1st and every MondayEverything is computed in your browser. No account, no upload, nothing sent anywhere.
Cron Builder by alftech · more tools at alftech.space
The next runs come from this page's own parser, checked against croniter and two other cron implementations. If an expression is read back wrongly, or the runs are not when your crontab would actually fire, write to a@alftech.space and I will fix it.