Cron expression tester
Paste a cron expression to see what it actually means and when it will run next. Runs entirely in your browser — nothing is sent to a server.
Every 5 minutes every day
Next 5 runs
UTCThe five fields
Syntax you can use
*Every value — every minute, every hour, every day.
1,15,30A list of specific values.
9-17An inclusive range.
*/15Every Nth value, starting at the lowest.
0-30/10Every Nth value within a range.
Common questions
Almost always the day-of-month and day-of-week fields. Cron combines them with OR, not AND: if both are set to something other than *, the job runs whenever either one matches. To get “Friday the 13th” you need a check inside the job itself, because cron cannot express it.
The local timezone of the machine running it, which is often UTC on a server even when you are not. That means a schedule can shift by an hour twice a year when daylight saving changes, and a job scheduled during a spring-forward gap may not run at all that day. This tool shows the next runs in your browser timezone, which is displayed above the list.
Not with standard cron — the smallest unit is one minute. Some implementations add a seconds field, but it is not portable. The usual workaround is a job that runs every minute and sleeps, or a proper scheduler.
Cron itself will not tell you: a job that never starts produces no output and no error. The usual approach is a heartbeat — the job calls a URL when it finishes, and you get alerted if that call does not arrive on schedule.
A cron job that fails to run is invisible — there is no error, because nothing ran. Add a heartbeat monitor and HyperMonitors alerts you when the expected check-in does not arrive. The free plan includes 5 monitors.
Monitor a cron job freeBuilding something with our API? Read the docs