← All articles · Dev & Text · about 4 min read
Cron syntax explained with examples — read any cron schedule
Cron is how servers say 'run this every day at 2am'. The five-field syntax looks like hieroglyphs at first. The Cron Parser turns any expression into plain English and shows the next times it would fire. Here's how to read it.
The five fields
A cron line is: minute hour day-of-month month day-of-week. So '0 2 * * *' means: at minute 0, hour 2, every day, every month, every weekday — i.e. 2:00am daily. '*' means 'every'.
Commas, slashes and ranges
Commas list values: '15,45 * * * *' fires at :15 and :45 every hour. A slash steps: '*/10 * * * *' fires every 10 minutes. A range: '9-17 * * * 1-5' means 9am-5pm, Monday-Friday. Mix them freely.
Preview the next runs
Rather than reason it out by hand, paste the expression into the Cron Parser. It expands the schedule and lists the next several execution times, which is the fastest way to catch a mistake like '0 0 31 2 *' (February 31st never happens).
Frequently asked questions
What do the five fields mean?
In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-7, where both 0 and 7 are Sunday).
What does '*/15' mean?
'Every 15'. In the minute field, '*/15' fires at :00, :15, :30 and :45. The slash is a step value.
Can a schedule match no dates?
Yes. '0 0 31 2 *' (Feb 31) matches nothing. A good parser will warn you instead of silently never firing.
Is the parser private?
Yes. Parsing runs in your browser; nothing is uploaded.