2026-09-09

Cron Syntax Cheat Sheet

Cron syntax is compact enough that it's easy to get subtly wrong - paste anything from here into the Cron Expression tool to see the plain-English schedule and its next run times before you ship it.

The 5 fields

A standard cron expression is five space-separated fields, in this order:

Field Allowed values Position
Minute 0-59 1st
Hour 0-23 2nd
Day of month 1-31 3rd
Month 1-12 (or JAN-DEC) 4th
Day of week 0-6 (0 = Sunday, or SUN-SAT) 5th

So 30 14 1 * * reads as: minute 30, hour 14, day-of-month 1, any month, any day-of-week - i.e. 2:30 PM on the 1st of every month.

Special characters

Character Meaning Example
* Any value * * * * * runs every minute
, A list of values 0 9,17 * * * runs at 9 AM and 5 PM
- A range of values 0 9-17 * * * runs every hour from 9 AM to 5 PM
/ Step values */15 * * * * runs every 15 minutes

These can combine: 0 9-17/2 * * MON-FRI runs every 2 hours between 9 AM and 5 PM, Monday through Friday.

Shortcut expressions

Some cron implementations (including most schedulers built on top of standard cron) support these shorthand strings in place of the 5-field syntax:

Shortcut Equivalent to Runs
@yearly (or @annually) 0 0 1 1 * Once a year, midnight on Jan 1
@monthly 0 0 1 * * Once a month, midnight on the 1st
@weekly 0 0 * * 0 Once a week, midnight on Sunday
@daily (or @midnight) 0 0 * * * Once a day, at midnight
@hourly 0 * * * * Once an hour, at minute 0

Not every cron implementation supports the shortcut syntax - check your scheduler's docs if you're not sure it will parse @daily correctly.

Common example expressions

Expression Meaning
* * * * * Every minute
*/5 * * * * Every 5 minutes
0 * * * * Every hour, on the hour
0 0 * * * Every day at midnight
0 9 * * MON-FRI 9 AM, Monday through Friday
0 0 1 * * Midnight on the 1st of every month
0 0 * * 0 Midnight every Sunday
0 0 1 1 * Midnight on January 1st every year
30 3 * * * 3:30 AM every day
0 */6 * * * Every 6 hours (12 AM, 6 AM, 12 PM, 6 PM)

Try Cron Expression · More cheat sheets · All tools