Cron Expression Explainer
Explain a cron expression in plain English and list its next run times.
Runs in your browser Your input never leaves your device.
Day of month and day of week are combined with OR when both are set, as in standard cron. Your scheduler's time zone decides when these actually fire.
Report a problem with this tool
About this tool
A cron expression has five fields: minute, hour, day of month, month and day of week. Paste one and the tool validates it, describes it in plain English and lists the next 10 times it will run. It understands lists (1,15), ranges (1-5), steps (*/10 or 9-17/2), month and weekday names (JAN, MON-FRI), Sunday as 0 or 7, and the shortcuts @hourly, @daily, @weekly, @monthly and @yearly. When both day of month and day of week are restricted, the schedule runs when either matches, which is how standard cron behaves. Run times are shown in your own time zone or in UTC; your server or scheduler's time zone decides when the job really fires. Expressions with a seconds or year field, as used by Quartz and some cloud schedulers, are not standard cron and are rejected with an explanation. Everything runs in your browser.
How to use it
- Type or paste a cron expression, or press one of the examples.
- Read the plain-English description.
- Check the next run times, switching between your time zone and UTC.
- Fix any error message shown and try again.
Common problems
- My job runs at the wrong time
- Cron uses the time zone of the server or scheduler, often UTC. Compare the UTC list with when you expected it to run.
- A 6-field expression is rejected
- Standard cron has 5 fields. A leading field is usually seconds (Quartz, Spring) or a trailing one is the year; remove it or use a tool for that dialect.
- Day-of-week and day-of-month together
- If both are set, cron runs when either matches. To mean 'the first Monday', use a script check, as cron cannot express it.