cron expression explainer

Paste a cron expression to get a plain-English description and the next few run times, so you can check a schedule before it surprises you in production.

Runs in your browser — nothing is uploaded
Open the cron expression explainerSee all 16 tools

Reading the fields

Five fields: minute, hour, day of month, month, day of week. Some systems add a seconds field at the front or a year at the end, which shifts everything and is a frequent source of a job running sixty times more often than intended.

The day-of-month and day-of-week trap

When both are restricted, standard cron runs the job if either matches, not both. So 0 0 1 * 1 is not "the first of the month if it is a Monday" but "the first of the month, and also every Monday". This surprises almost everyone.

Time zones and DST

Cron usually runs in the machine's local zone. On the spring transition a job scheduled for 02:30 may not run at all, because that time does not exist; on the autumn transition it may run twice. Scheduling in UTC avoids both.

Questions

What do the five cron fields mean?

Minute, hour, day of month, month, day of week. Some schedulers add seconds at the front or a year at the end, which shifts every other field.

Why does my job run more often than expected?

If you restricted both day-of-month and day-of-week, cron runs when either matches, not both. That is the documented behaviour and it catches almost everyone.

What happens to a cron job during a daylight saving change?

A job scheduled in the hour that does not exist may be skipped, and one in the hour that repeats may run twice. Schedule in UTC to avoid it.

What is the difference between */5 and 0/5?

They mean the same in most implementations: every five units starting at zero. Not every scheduler accepts the 0/5 form.

Related

Time zones and DST edge casesAll 16 tools

Other tools

Text and JSON diffRegex testerCSV to JSON converterPassword and secret generatorQR code generatorJWT decoder