Explain a cron expression

Understand or check a 5-field cron expression (minute, hour, day of month, month, day of week) before deploying it.

Examples:
Format: minute hour day-of-month month day-of-week

How it works

A misread cron expression is a classic source of error: mixing up the order of fields, misinterpreting a 1-5 range or a */15 step, or deploying a task meant to run "every weekday at 9am" that actually triggers every 9 minutes. Type a 5-field expression (minute hour day-of-month month day-of-week, for example 0 9 * * 1-5) and a plain-English explanation appears automatically as you type, so you can verify it before deploying a scheduled task (Linux cron, Kubernetes CronJob, CI/CD scheduled job...).

What cron syntax is supported?

The * character (all values), a single value (5), a range (1-5), a comma-separated list (1,15,30), and a step (*/15 or 1-30/5) are all handled. Shorthand macros like @daily or @hourly, as well as spelled-out month or day names (JAN, MON...), are intentionally not supported: use the standard 5-field numeric syntax.

Why do the day-of-month and day-of-week fields combine with "or"?

This is a historical quirk of cron: if both the day of month and the day of week are restricted (different from *) in the same expression, the task triggers as soon as either condition is met, not only when both are true at the same time. This tool faithfully reproduces this rule rather than simplifying it, to avoid unpleasant surprises in production.

100% local processing: the analysis runs entirely in your browser thanks to WebAssembly, your cron expression is never sent to a server.