Skip to content

Cron Expression Explainer

Turn a cron schedule into plain English and see its next run times.

Expression

  1. */15Minute
  2. 9-17Hour
  3. *Day of month
  4. *Month
  5. 1-5Day of week

Examples

Meaning

Every 15 minutes, between 09:00 and 17:59 on Monday to Friday.

Next runs

Working out the next runs…

Servers run cron in their own time zone, often UTC.
Minute
0, 15, 30, 45
Hour
9, 10, 11, 12, 13, 14, 15, 16, 17
Day of month
every
Month
every
Day of week
1, 2, 3, 4, 5
How is this calculated?
minute (0–59) hour (0–23) day of month (1–31) month (1–12 or JAN–DEC) day of week (0–7 or SUN–SAT; 0 and 7 are Sunday) * any · a,b list · a-b range · */n or a-b/n every n · @daily @hourly @weekly @monthly @yearly

Runs in your browser — nothing you enter leaves this device.

About this tool

What it does

Cron schedules jobs on Linux servers, in CI pipelines such as GitHub Actions, and in Kubernetes CronJobs, using five terse fields that are easy to get wrong. This explainer reads a standard cron expression, describes it in plain English, shows the values each field allows, and lists the next eight times it will run in your time zone or in UTC. It follows the classic crontab rules, including the one that catches most people: when both day of month and day of week are restricted, the job runs when either one matches.

How to use it
  1. Type or paste a cron expression, or pick an example.
  2. Read the plain-English meaning and check each field underneath the input.
  3. Look at the next runs to confirm the schedule does what you expect.
  4. Switch between your local time and UTC — most servers and CI systems run cron in UTC.
  5. Copy the expression when it’s right.
Limits and your data
  • This is standard five-field cron as used by crontab, GitHub Actions and Kubernetes. Six- or seven-field formats with seconds or years (Quartz, Spring, AWS EventBridge) are not supported, and neither are the extensions L, W, # and ?.
  • Run times are shown in your device’s time zone or UTC. A server in another zone will run at a different wall-clock time.
  • Around daylight-saving changes, real cron daemons may skip or repeat a run in the missing or repeated hour; the list here doesn’t model that.
  • @reboot runs at startup and has no schedule to show.
  • The expression is parsed and the run times calculated in your browser. Nothing is sent or saved.

Questions

What does */15 mean?

Every 15 units starting from the lowest value — in the minute field, at 0, 15, 30 and 45. 5/15 starts at 5 instead: 5, 20, 35 and 50.

Why does “0 0 1 * 5” run every Friday?

Because it sets both day of month (1) and day of week (Friday). Cron treats that as OR, so it runs on the 1st and on every Friday. To run only on Fridays that are the 1st, check the date inside your script.

Is Sunday 0 or 7?

Both. 0 and 7 mean Sunday, and names such as MON or fri work too.

Why did my GitHub Actions schedule run at a strange time?

GitHub Actions uses UTC, and scheduled runs can be delayed during busy periods. Switch the next runs to UTC to see the times GitHub uses; 9:00 IST is 30 3 * * *.