Cron Expression Parser & Explainer
Paste a cron expression to get a plain-English explanation and the next 5 scheduled run times. Supports ranges, steps, lists, and @daily/@hourly shortcuts. 100% client-side.
🔒 Runs entirely in your browser — no data is ever sent anywhereWhen you need a cron expression parser
Cron syntax is compact by design and correspondingly easy to misread — is */15 every 15 minutes or something else, does 0 9 * * 1-5 actually mean weekday mornings? Before shipping a scheduled job (a deploy pipeline, a backup script, a cron-triggered cloud function), pasting the expression here confirms in plain English exactly when it will run and shows the next five real run times, which catches a mistake — like accidentally scheduling for every hour instead of every day — before it causes a problem in production rather than after.
The day-of-month / day-of-week 'OR' rule most people get wrong
The single most common cron misunderstanding: when both the day-of-month and day-of-week fields are restricted (not *), a real cron scheduler treats a date as a match if it satisfies either field, not both — an AND would be the intuitive reading, but standard cron uses OR in that specific case. This tool implements that exact behavior rather than the more intuitive-but-wrong AND logic. It supports the standard 5-field format plus ranges (1-5), steps (*/15), comma-separated lists (1,15), and the @yearly/@monthly/@weekly/@daily/@hourly/@midnight shortcuts; named months or weekdays like 'MON' or 'JAN' aren't supported, so use numbers instead. Next-run times are computed by simulating forward minute-by-minute from right now, entirely in your browser.
Frequently asked questions
What cron syntax does this support?
The standard 5-field format (minute, hour, day-of-month, month, day-of-week), including *, ranges like 1-5, steps like */15, comma-separated lists like 1,15, and the common @yearly/@monthly/@weekly/@daily/@hourly/@midnight shortcuts. Named months or weekdays (e.g. 'MON' or 'JAN') aren't supported — use numbers.
Why does 'day-of-month' say 'or' with 'day-of-week' instead of 'and'?
This matches real cron behavior: when both the day-of-month and day-of-week fields are restricted (not *), a date matches if it satisfies either one, not both. If only one of the two is restricted, only that one is used.
How are the next run times calculated?
This tool simulates forward minute-by-minute from the current time on your device, checking each candidate against the parsed schedule, until it finds 5 matches (capped at 2 years out). Everything happens locally in your browser — your cron expression is never sent anywhere.
Related Data tools
Bracketly is free and open-source. If this tool saved you time, consider supporting it.
☕ Buy me a coffee