How to Read Cron Expressions

A cron expression is a string of five fields separated by spaces. Each field controls a different unit of time. Read them left to right: minute → hour → day of month → month → day of week.

┌── minute (0-59)
│  ┌── hour (0-23)
│  │  ┌── day of month (1-31)
│  │  │  ┌── month (1-12)
│  │  │  │  ┌── day of week (0-7, 0 and 7 = Sunday)
│  │  │  │  │
*  *  *  *  *

The wildcard: *

An asterisk means every possible value for that field. * * * * * runs every minute of every hour of every day.

Specific values

Use a number to pin a field to an exact value. 0 9 * * * runs at 9:00 AM every day: minute 0, hour 9, everything else unrestricted.

Step values: /

A slash means every N units. */15 * * * * runs every 15 minutes. 0 */2 * * * runs at the start of every other hour.

Ranges: -

A hyphen specifies a range of values. 0 9-17 * * * runs at the top of each hour between 9 AM and 5 PM.

Lists: ,

Commas let you specify multiple values. 0 8,12,18 * * * runs at 8 AM, noon, and 6 PM every day.

Day of week numbering

Days run from 0 (Sunday) to 7 (Sunday again; both 0 and 7 mean Sunday). Monday is 1, Friday is 5, Saturday is 6.

Putting it together

Not sure what an expression means? Let Cronslate translate it instantly.

Try the Translator →