Parse 5-field unix cron expressions, see human-readable descriptions, and preview next execution times.
Last verified: May 2026
Output will appear here...A nightly database backup CronJob is silently missing runs once a week. You paste its schedule (0 2 * * 1-5) into the tester. The next-runs list shows 2am Mon–Fri — exactly what was intended. But your production timezone is UTC and the cluster runs in America/Chicago, so '2am' is actually 7am UTC, and the database snapshot window expires at 6am UTC. Move the job earlier, add a TZ annotation, run the tester again to confirm.
Cron expressions look simple until they don't. Is */5 in the day-of-month field every five days, or every fifth listed day? Does 0 0 * * 0 mean midnight every Sunday or midnight every weekday? The Cron Expression Tester parses a standard 5-field Unix cron expression, translates it into a plain-English description, and lists the next ten execution times in your local timezone so you can confirm intent before deploying it to a scheduler.
The parser tokenizes each of the five fields, expanding ranges (1-5), step values (*/15), and lists (1,15,30) into a set of allowed values. The next-runs calculation walks forward from the current time in one-minute increments, checking each minute against the allowed sets for all five fields, and collects the first ten matches. Day-of-month and day-of-week are combined with the OR semantics described above to match standard Unix cron behavior.
Avoid scheduling everything on the minute boundary (0 * * * *) — every cluster in the world hits that boundary, and shared resources (AWS API endpoints, package mirrors) get spiky load there. Pick a random minute offset for non-coordinated jobs.
If a job must not overlap with itself, do not rely on cron to enforce that. Cron will happily start a second copy if the first is still running. Use a wrapper like flock, a Kubernetes Job's concurrencyPolicy: Forbid, or an in-script PID/lock file.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.