Developer tool

Cron expression explainer

Paste a cron line and find out when it actually runs.

Cron expression explainer Runs on your device
  • Runs in your browser — your text is never sent anywhere
  • No sign-up, no quotas, free to use as often as you like

How it works

Cron syntax is five terse fields that are easy to write and much harder to read back, particularly someone else's. Most mistakes are not typos but misunderstandings about which field is which, or what happens when two of them are set at once.

The five fields

Minute, hour, day of the month, month, day of the week — in that order. A sixth leading field for seconds is used by some schedulers and is ignored here if present. Ranges, lists and steps are all understood.

Day of month and day of week together

This catches almost everyone. If both fields are set to something other than “*”, cron runs when either matches, not both. “0 0 1 * 1” runs on the first of the month and on every Monday, not only on Mondays that fall on the first. The explanation says so explicitly when it applies.

Both 0 and 7 mean Sunday

The day-of-week field accepts 0 through 7, with both ends meaning Sunday. This is a frequent source of off-by-one confusion when copying a schedule between systems.

It validates as it explains

Out-of-range values, malformed ranges and zero steps are reported with the field they came from, rather than producing a confident but wrong description.

FAQ

Cron expression explainer — questions

What do the five fields mean?

Minute, hour, day of the month, month, and day of the week, in that order.

Why does my schedule run more often than expected?

Probably because both day-of-month and day-of-week are set. Cron treats those as OR, so it runs when either matches.

Is Sunday 0 or 7?

Both. The day-of-week field accepts 0 through 7 and treats each end as Sunday.

Does it support the seconds field?

A leading seconds field is ignored if present; the five standard fields are explained.