Cron Expressions Explained: Scheduling Made Simple
Cron runs the scheduled jobs that keep systems alive โ backups, reports, cleanups. Its five-field syntax looks cryptic but follows a simple pattern.
By ToolJolt Team ยท May 6, 2026
The five fields
A standard cron expression has five fields, in order: minute (0โ59), hour (0โ23), day of month (1โ31), month (1โ12) and day of week (0โ6, Sunday = 0). Each field says 'when' along that dimension, and the job runs when all of them match.
Special characters
- * means 'every' value of that field.
- , lists values: 1,15,30.
- - gives a range: 9-17.
- / sets steps: */15 in minutes means every 15 minutes.
Patterns you can copy
- 0 * * * * โ every hour, on the hour.
- */15 * * * * โ every 15 minutes.
- 0 9 * * 1-5 โ 9:00 AM on weekdays.
- 0 0 1 * * โ midnight on the 1st of every month.
The day-of-week gotcha
When you set both day-of-month and day-of-week, most cron implementations run the job if either matches โ not both. This surprises people who expect an 'and'. If timing is critical, keep one of the two as * to avoid ambiguity.
Build and read expressions
ToolJolt's cron tools turn plain English into an expression and visualise what a crontab line actually does, so you can schedule with confidence.
Free tools mentioned in this guide
Frequently asked questions
What does */5 mean in cron?
In the minute field, */5 means 'every 5 minutes'. The slash sets a step interval across the field's range.
What are the five cron fields?
Minute, hour, day of month, month, and day of week โ in that order. The job runs when all fields match the current time.
Why does my job run more often than expected?
Often the day-of-month/day-of-week 'either matches' rule. If both are set, many crons run on either condition. Leave one as * to be precise.