Cron Explainer

Paste a cron expression, read it in plain English, and see the next ten runs in any time zone, daylight saving included.

  1. */15
    minute
    every 15th minute
  2. 9-17
    hour
    09:00 through 17:00
  3. *
    day of month
    every day
  4. *
    month
    every month
  5. 1-5
    day of week
    Monday through Friday

Every 15 minutes, between 09:00 and 17:59, on weekdays.

Try one

running on this site

Next 10 runs

Cron reads the clock of whatever runs it. Hosted schedulers use UTC; a server’s crontab uses that server’s time zone.

Working out the next runs…

The syntax, briefly

┌──────── 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 value
5
exactly 5
1,15
1 and 15
1-5
1 through 5
*/15
every 15th, from the start
10-50/20
10, 30 and 50
MON-FRI
names work in the month and weekday fields
@daily
also @hourly, @weekly, @monthly, @yearly
CRON_TZ=Europe/London
a prefix: run on that zone's clock

Five fields only. Quartz and Spring add a seconds field in front and understand L, W and #; Linux cron, Vercel and GitHub Actions do not.