Cron Explainer
Test & DebugDecode a cron expression into plain English and upcoming run times
What this means
| Minute | */15 |
| Hour | 9-17 |
| Day of month | * |
| Month | * |
| Day of week | MON-FRI |
Next 10 runs
Upcoming run times will appear here.
About the Cron Explainer
A cron expression explainer that translates the 5-field syntax into a plain-English sentence and lists the next 10 times it will actually run, in your local timezone — including the POSIX quirk where a restricted day-of-month and day-of-week combine with OR, not AND.
Cron syntax is compact by design, which makes it genuinely hard to eyeball-verify — is `0 4 * * 1-5` really "weekdays at 4am", or did you get an off-by-one on the day numbering? Seeing both the plain-English description and the actual next 10 run times side by side is the fastest way to confirm a schedule does what you meant before it goes into a crontab or CI config.
How to Use the Cron Explainer
Type a 5-field cron expression, or pick a preset.
Read the plain-English description of the schedule.
Check the next 10 run times, computed in your local timezone.
Frequently Asked Questions
Is my cron expression sent anywhere?
No. Parsing, the plain-English description, and the next-run calculation all happen locally in your browser — nothing is sent to a server.
What format does it expect?
Standard 5-field cron: minute, hour, day-of-month, month, day-of-week — with *, lists (1,15), ranges (9-17), steps (*/5), and named months/weekdays (JAN, MON-FRI). Shorthand like @daily, @hourly, @weekly, @monthly, and @yearly is also supported.
What timezone are the "next run" times in?
Your browser's local timezone — the same timezone the cron daemon would use if it were running on your machine right now.
What happens if both day-of-month and day-of-week are restricted?
Standard cron semantics apply: if both fields are set to something other than *, a day matches if it satisfies either one — not both. For example, "0 12 1,15 * MON" runs at noon on the 1st, the 15th, and every Monday, not just Mondays that happen to fall on the 1st or 15th.
Does it support 6-field cron with seconds?
No — it targets standard 5-field cron (minute through day-of-week), the format used by crontab, most CI schedulers, and Kubernetes CronJobs. Seconds-precision 6-field variants (used by some schedulers like Spring or Quartz) aren't parsed.