Cron expression validator and explainer
Paste a five-field cron expression to see what each field means, when it runs next, and which platforms accept it as written.
*/159-17**1-5Every 15 minutes from 09:00 through 17:45, Monday through Friday.
Next 5 runs
Vercel always runs schedules in UTC, and GitHub Actions does unless you set a time zone. Crontab and Kubernetes use the server's time zone.
Field by field
*/15Minute- Every 15th minute: 0, 15, 30, 45
9-17Hour- Every hour from 9 through 17
*Day of month- Every day of the month
*Month- Every month
1-5Day of week- Monday through Friday
Platform check
Whether each scheduler accepts */15 9-17 * * 1-5 as written.
crontab
AcceptedRuns in the server's local time zone.
GitHub Actions
AcceptedRuns in UTC unless you add a timezone key. Runs at the start of an hour are the likeliest to be delayed.
Kubernetes
AcceptedSet spec.timeZone, or the schedule follows the kube-controller-manager's time zone.
AWS EventBridge
Rewrite neededEventBridge uses six fields ending in a year, and one of the day fields has to be ?. It numbers weekdays 1-7 starting on Sunday, so the rewrite uses day names. EventBridge Scheduler can run it in any time zone; older scheduled rules use UTC.
cron(0/15 9-17 ? * MON-FRI *)
Vercel
Paid plans onlyRuns more than once a day, which fails to deploy on the Hobby plan. Vercel runs cron jobs in UTC.