Cron Expression Tester
Paste a 5-field crontab expression and get a readable description plus the next 10 run times, in your timezone and UTC side by side. Because the job firing at 03:00 on your laptop and 20:00 on the server is how most cron stories begin.
| # | Local time | UTC | In |
|---|
Syntax this tester supports
*every value,*/15every 15th value1-5ranges,1-10/2stepped ranges,1,15,30lists, and combinations like0-20/5,45- Month and weekday names:
JAN-DEC,SUN-SAT(case-insensitive) 0and7both mean Sunday in the day-of-week field- Standard OR semantics when both day-of-month and day-of-week are restricted, matching Vixie cron
Non-standard extensions like @daily, L, W, #, and 6-field seconds syntax aren't supported; those vary between implementations and this tester sticks to what plain crontab guarantees everywhere.
The classic cron failure isn't the schedule
Most cron incidents have nothing to do with the expression. The job stops running because a server was rebuilt, a deploy wiped the crontab, disk filled up, or the script started exiting 1 and nobody saw the mail. Cron itself never tells anyone; it just quietly stops. The reliable fix is a dead man's switch: the job pings a URL on every successful run, and something alerts you when the ping doesn't arrive on schedule.
Related tools
- On-Call Rotation Generator: who picks up when the 03:00 job breaks.
- JSON Path Tester: for asserting on what the job's API output actually contains.
Know when a cron job stops running
failover.io heartbeat monitors give your job a unique URL to ping. Miss the schedule and an alert chain kicks off: email first, then SMS, then a phone call, escalating until someone acknowledges. Free plan covers 5 monitors.
Start monitoring free