Free Cron Expression Explainer — Plain English Schedules
Cron's five-field syntax powers scheduled jobs everywhere — Linux crontabs, GitHub Actions, Kubernetes CronJobs, and backup systems — yet strings like */15 9-17 * * MON-FRI read as line noise to most developers. This free explainer translates any expression into plain English ("every 15 minutes between 9am and 5pm, Monday to Friday"), validates ranges and month/weekday names, and brute-forces the next five actual run times.
How to Read Any Cron Line
- Type or paste five space-separated fields; the description updates live, including named months (
JAN–DEC) and weekdays (MON–SUN). - Learn the operators —
*means every value,*/nevery nth,a-ba range,a,ba list; combine them freely. - Check next runs — five upcoming timestamps confirm the schedule does what you intended, including tricky day-of-month vs weekday interactions.
The Classic Gotcha: Day-of-Month OR Weekday
Standard cron treats restricted day-of-month and weekday fields as OR, not AND: 0 0 1 * MON runs on the 1st of each month and every Monday — a perennial source of double-fired jobs. The next-runs preview exposes this instantly, which is precisely why you should always verify visually before deploying schedules that touch production data.
What is the difference between * and */1?
Nothing — both match every value of the field. */1 is just explicit spelling; the explainer normalizes both to "every".
Do seconds or years work here?
No — this tool covers classic five-field cron (Quartz-style six/seven-field expressions with seconds are not parsed). Most Unix and CI systems use five fields.
Why Sunday as both 0 and 7?
Historical cron accepts either; this explainer normalizes 7 to Sunday automatically, so both spellings describe identically.
Related Tools
Convert the timestamps you see with the Timestamp Converter, schedule across zones with the Time Zone Converter, and generate secrets for jobs with the Password Generator.