At One Place

Cron expression parser

Explain a cron expression in plain English and show the next run times.

How it works

Translates a cron expression into a sentence and lists the next several times it will fire.

The field order is minute, hour, day of month, month, day of week — and the two day fields are the trap. When both are restricted, most cron implementations treat them as OR rather than AND, so `0 0 1 * 1` fires on the 1st of the month *and* every Monday, not on Mondays that fall on the 1st. That behaviour surprises almost everyone the first time.

Step values like */15 mean every fifteenth unit from the start of the range, not every fifteen minutes from now. `*/15` in the minute field fires at :00, :15, :30 and :45 regardless of when the job was created.

Cron runs in the server’s timezone unless configured otherwise, which is the usual cause of jobs firing an hour out twice a year. Schedules near the daylight-saving transition can be skipped or repeated.

This tool runs entirely in your browser. Nothing you enter is sent to a server, logged or stored, and the page keeps working with the network disconnected.

Common questions

What is the order of cron fields?
Minute, hour, day of month, month, day of week. Some systems add a seconds field at the front or a year field at the end.
Why does my job run on the wrong days?
Almost certainly the day-of-month and day-of-week fields. When both are restricted, most implementations OR them rather than AND them.
What does */15 mean?
Every fifteenth unit from the start of the range — :00, :15, :30, :45 — not fifteen minutes from when the job was created.

Related pages

Sources

  1. Calculated on this page — At One Place

How these figures are compiled and checked