Free tool

Cron expression explainer

Paste a five-field cron expression to read it in plain English and see when it will next run. Useful before you deploy a schedule, and when you inherit one nobody remembers writing.

Five fields: minute, hour, day of month, month, day of week. Macros such as @daily work too.

At the start of every 6th hour

Next 5 runs (UTC)

Each field of the expression
FieldValueMatches
Minute00
Hour*/60, 6, 12, 18
Day of month*any
Month*any
Day of week*any

Try: */15 * * * *, 0 9 * * 1-5, 30 2 * * *, 0 0 1 * *, 0 */6 * * *, 0 8-18/2 * * MON-FRI

Cron syntax

A cron expression has five fields separated by spaces. A job runs at every minute where all five match.

The five fields of a cron expression
PositionFieldAllowed values
1Minute0-59
2Hour0-23
3Day of month1-31
4Month1-12 or JAN-DEC
5Day of week0-7 or SUN-SAT (0 and 7 are Sunday)

Special characters

Macros

@hourly, @daily (or @midnight), @weekly, @monthly and @yearly (or @annually) stand for common schedules. @reboot runs once at start-up, so it has no next run times and isn't supported here.

Day of month and day of week together

This catches people out. When both day fields are restricted, cron runs the job on days that match either of them, not both. 0 9 13 * 5 runs at 09:00 on the 13th of every month and on every Friday, not only on Friday the 13th. If either field is *, only the other one counts.

Time zones

Cron uses the time zone of the machine it runs on, which on most servers is UTC. This tool shows run times in UTC. If your server uses local time, a job at 01:30 can run twice or not at all on the nights the clocks change; scheduling in UTC avoids that.

Know when a cron job doesn't run

A wrong expression is one way a scheduled job goes quiet. Others are a full disk, an expired credential, a server that was rebuilt without its crontab, or a job that hangs. Cron itself won't tell you about any of them. A heartbeat monitor will: the job pings a URL when it finishes, and if the ping doesn't arrive on time, you get an alert. It's free for up to 20 monitors.

Set up your first monitor in under a minute

Uptime Dog is free for up to 20 monitors. No card needed.

Start monitoring free