Boneyard Tools

Cron Expression Explainer

Paste a 5-field cron expression to read it in plain English and preview the next run times. Useful for sanity-checking a crontab line or a scheduled job before you ship it.

How to read a cron expression

  1. Paste your cron expression (minute, hour, day of month, month, day of week).
  2. Read the plain-English summary of when it runs.
  3. Check the list of upcoming run times to confirm the schedule is right.

Examples

Every weekday at 9am

0 9 * * 1-5
Runs at 09:00 on Monday, Tuesday, Wednesday, Thursday and Friday.

Every 15 minutes

*/15 * * * *
Runs every 15 minutes.

Frequently asked questions

What order are the cron fields in?

Five fields separated by spaces: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6, where 0 is Sunday). This tool uses the standard 5-field format, not the optional seconds or year fields.

What does */N mean?

A step value. For example */15 in the minute field means every 15 minutes (0, 15, 30, 45). You can also step a range, so 0-30/10 means 0, 10, 20 and 30.

How do day of month and day of week interact?

When both are set to something other than *, the job runs when EITHER one matches (a logical OR). If one of them is *, only the other field constrains the day. That OR behavior is the classic cron rule and trips up a lot of people.

What timezone are the run times in?

The previewed run times are computed in UTC so they are consistent everywhere. A real crontab usually runs in the server's local timezone, so adjust for any offset when you compare.

Is my cron expression sent to a server?

No. Parsing, the explanation and the run-time preview all happen in your browser. Nothing is uploaded.

Why do I see fewer than 5 run times?

Some expressions almost never fire, such as February 30th. The tool scans up to about a year ahead, so an impossible or extremely rare schedule can return fewer results.

Related tools