Cron Expression Builder
Build, validate, and preview cron schedules — with next-run times and plain-English explanations.
100% in your browser — files never leave your device
Presets
0–59
0–23
1–31
1–12 or jan–dec
0–6 or sun–sat
At 09:00 on Monday, Tuesday, Wednesday, Thursday, Friday.
Next 5 scheduled runs
- 1 7/29/2026, 9:00:00 AM
- 2 7/30/2026, 9:00:00 AM
- 3 7/31/2026, 9:00:00 AM
- 4 8/3/2026, 9:00:00 AM
- 5 8/4/2026, 9:00:00 AM
How cron expressions are parsed
This parser handles the standard 5-field cron syntax — minute, hour, day-of-month, month, day-of-week — with wildcards, step values (*/15), ranges (1-5), and comma lists, plus named months and weekdays (jan, mon). It computes the next several run times from the current moment and writes a plain-English description of the schedule.
One cron behavior trips people up constantly: when both day-of-month and day-of-week are
restricted (not *), most cron implementations — including this one — treat them as OR, not
AND. 0 0 1 * MON runs at
midnight on the 1st of the month or every Monday, not only when the 1st falls on a Monday.
Next-run times are computed from your browser's local clock and timezone. If the cron job actually executes on a server in a different timezone — the common case — verify the schedule against that server's zone before trusting the preview.
Frequently asked questions
Is my cron expression sent to a server?
No. All parsing, validation, and next-run calculation happens entirely in your browser. Nothing is sent to a server — not even a single character of your expression.
What syntax does this support?
Standard five-field cron: minute, hour, day-of-month, month, and day-of-week. Supports wildcards (*), step values (*/n), ranges (a-b), range steps (a-b/n), comma lists, and common name aliases for months (jan–dec) and weekdays (sun–sat).
Why do day-of-month and day-of-week interact oddly?
Standard cron OR semantics: when both fields are restricted (neither is *), a run is scheduled if either matches. This matches the behavior of most Unix cron implementations.