Skip to content
nah

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

0 9 * * 1-5

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. 1 7/29/2026, 9:00:00 AM
  2. 2 7/30/2026, 9:00:00 AM
  3. 3 7/31/2026, 9:00:00 AM
  4. 4 8/3/2026, 9:00:00 AM
  5. 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.

Related tools