About the Cron Expression Explainer
Cron expressions pack a full schedule — minute, hour, day of month, month, and day of week — into five terse fields, which makes them notoriously easy to misread (does `0 */4 * * *` mean every 4 hours, or something else?).
This tool translates a cron expression into a plain-English description, so you can verify a schedule actually does what you intended before deploying it.
How it works
- Type a five-field cron expression into the input box (e.g. `0 */4 * * *`).
- Click Explain to get a plain-English description of exactly when the schedule fires.
- If the expression is malformed, an error explains what's wrong instead of a description.
Common use cases
- Verifying a CI/CD schedule: Checking that `0 2 * * 1-5` really means 'every weekday at 2:00 AM' before committing it to a GitHub Actions or Jenkins config.
- Debugging an unexpected job run: Explaining an existing cron expression from a crontab file to figure out why a job ran (or didn't run) at an unexpected time.
- Writing a new scheduled task: Iterating on a cron expression until the plain-English explanation matches the schedule you actually want.
Frequently asked questions
What do the five fields in a cron expression mean?
In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). Each field can be a specific value, a range, a comma-separated list, an asterisk for 'every', or a step value like `*/4`.
What does */4 mean in the hour field?
It means 'every 4 hours', i.e. the job runs when the hour is evenly divisible by 4 — so 0, 4, 8, 12, 16, and 20 — not literally 'every 4th hour starting from now'.
Does this support 6-field cron expressions with seconds?
This tool expects standard 5-field cron syntax (minute through day-of-week) as used by Unix cron and most CI/scheduling systems; some platforms (like Quartz) use a 6-field format with a leading seconds field, which isn't the same syntax.
What timezone does the schedule run in?
The explanation describes the schedule in relative terms (e.g. '2:00 AM') without assuming a timezone — the actual timezone a cron job runs in depends entirely on the system or platform executing it, which is configured separately from the expression itself.
This tool runs entirely in your browser — nothing you enter is sent to a server. Read more in the Privacy Policy, or browse the full list of tools.