Cron Expression for Every 5 Minutes (and Every N Minutes)
The short answer: */5 * * * * runs a job every 5 minutes, every hour, every day. The rest of this page covers why that syntax works, how to adapt it to other intervals, and the two mistakes that trip people up most often.
1How the step syntax works
A cron expression has five fields: minute, hour, day-of-month, month, and day-of-week. A bare * in a field means "every value" — so * in the minute field alone would mean every single minute.
The /5 is a step value. It tells the scheduler to take every 5th value starting from the field's minimum, rather than every single one. In the minute field, valid values run 0–59, so */5 selects 0, 5, 10, 15 ... all the way to 55 — twelve runs per hour, evenly spaced.
2Other common intervals
The same step pattern works for any interval that divides evenly into 60. Swap the number after the slash:
| Interval | Expression | Runs per hour |
|---|---|---|
| Every minute | * * * * * | 60 |
| Every 2 minutes | */2 * * * * | 30 |
| Every 5 minutes | */5 * * * * | 12 |
| Every 10 minutes | */10 * * * * | 6 |
| Every 15 minutes | */15 * * * * | 4 |
| Every 30 minutes | */30 * * * * | 2 |
Avoid step values that don't divide 60 evenly, like */7. It technically works, but the run times drift instead of landing on clean clock boundaries (0, 7, 14, 21... 56, then wraps oddly at the top of the next hour) — confusing for anyone reading logs later.
3Two mistakes that trip people up
a. Confusing "every 5 minutes" with "at 5 minutes past the hour"
5 * * * * (no slash) means run once, at minute 5 of every hour — a completely different schedule from */5 * * * *, which runs twelve times an hour. The slash is what turns a single fixed value into a repeating step.
b. Combining a step with a specific hour incorrectly
To run every 5 minutes but only during business hours, the step goes in the minute field and a range goes in the hour field: */5 9-17 * * *. A common mistake is writing */5 */9-17 * * * or similar — mixing a step syntax into a field that just needs a plain range.
4How to verify before deploying
Paste any expression into our Cron Builder to see a plain-English description and the next five actual run times calculated from right now. It's the fastest way to catch a mistake before it ends up in a crontab or a CI schedule file.
See exactly when your schedule will run.
Build cron schedules visually and preview the next five run-times, right in your browser.