LocalFirstTools.com, data tools that never leave your device
No upload, everything runs on your device

Cron expression for every 5 minutes

The cron expression for every 5 minutes is */5 * * * *. The minute field steps through 0, 5, 10 … 55 and the other four fields stay *, so the job fires at every clock minute divisible by 5: 12 times an hour and 288 times a day (1440 minutes ÷ 5). It is loaded below; the sentence and the next five run times are computed in your browser.

Over a 365-day year that is 105,120 runs (8,760 hours × 12). The step is aligned to the clock, not to when the job was saved: a crontab installed at 10:03 first fires at 10:05, not 10:08. Steps that do not divide 60 evenly behave differently: */7 fires at 0, 7, 14 … 56 and then at 0 again after only 4 minutes, because 60 mod 7 = 4.

In plain English

Every 5 minutes

Next 5 runs (local time)

Calculating...

ValidParsed on this device

When it goes wrong

“Constraint error, got value 60 expected range 0-59” means a minute value of 60; minutes run 0 to 59. “Constraint error, cannot repeat at every 0 time.” means the step is */0; use 1 or more. If the sentence reads “Every 5 seconds”, you pasted a 6-field expression (*/5 * * * * *) whose first field is seconds, so drop that field for crontab.

When to use this

Use */5 for polling that tolerates up to five minutes of delay: checking a queue, pulling a feed, refreshing a cache, running a health check. Anything that must react faster needs a long-running process or a scheduler with a seconds field, because cron cannot go below one minute.

This page is a focused view of theCron Expression Generator & Explainer, which has the full set of options.

Frequently asked questions

Is */5 the same as 0,5,10,15,20,25,30,35,40,45,50,55?

Yes, exactly. */5 is shorthand for a step of 5 across the field's full range, 0 to 59, which expands to those 12 values. Switch the minute field to Specific in Build to see the expanded list.

How do I run every 5 minutes during working hours only?

*/5 9-17 * * 1-5 fires from 09:00 to 17:55 on Monday to Friday: 9 hours × 12 runs = 108 runs per weekday. Change 9-17 to 9-16 if the last run should be at 16:55.

Why does my every-5-minute job first fire at 10:05 and not 5 minutes after I saved it?

Cron matches wall-clock minutes, so */5 means minutes 0, 5, 10 and so on, regardless of when the crontab was written. For an interval measured from an arbitrary start, use a loop with sleep 300 or a scheduler that supports fixed delays.