Cron Expression Builder
Build standard 5-field or Quartz 6-field cron expressions visually, see the next 5 execution times, and read what they actually mean in plain English before deploying.
In your browser—your files never leave your device.
Learn more- today
2026-05-22 04:50:00in 58 seconds - today
2026-05-22 04:51:00in 1 minute - today
2026-05-22 04:52:00in 2 minutes - today
2026-05-22 04:53:00in 3 minutes - today
2026-05-22 04:54:00in 4 minutes
Presets (25)⌘Enter validate
About this tool
Cron has used the same five-field syntax since 1975 — minute, hour, day-of-month, month, day-of-week — and people still get it wrong because the rules are subtle. Day-of-week starts on Sunday (0) in most implementations but Monday (1) in some. Both day-of-month and day-of-week active means OR not AND, which trips everyone the first time they hit it. * means every; */5 means every fifth value starting at zero; specific values like 0 9 mean minute 0 of hour 9 (i.e. 9 AM exactly). This builder lets you pick from common presets or set each field via dropdown. As you change anything, the cron string and a plain-English description update together — so before you commit "0 9 * * 1" to a crontab, you read "At 09:00, only on Monday" and confirm that is what you wanted.
How to cron expression builder
-
Pick a preset or start fresh
Common schedules are one click away — every minute, hourly, daily midnight, Monday 9 AM, monthly. Or set each field manually if your schedule is unusual. The defaults are all "every" (*) which means the job runs every minute, which is rarely what you actually want but is a clean starting point.
-
Adjust the fields
Minute, hour, day-of-month, month, day-of-week. Each has a dropdown of sensible options plus the option to type a value directly. Common values: minute can be 0 (top of the hour), */5 (every 5 minutes), or specific minute. Hour can be a specific 0-23 value or */N for "every N hours". Day-of-week supports ranges (1-5 for Mon-Fri) and lists (0,6 for weekends).
-
Read the description
Plain English explains when the job runs. "At 09:00 on Monday through Friday" is much harder to misread than 0 9 * * 1-5. If the description does not match your intent, fix the fields before you commit.
-
Copy the expression
One-click copy. Paste into crontab, .github/workflows/*.yml under "schedule.cron", a Kubernetes CronJob spec's spec.schedule, an AWS EventBridge rule expression, or your scheduler of choice. The expression is the same everywhere.
Features
Visual field-by-field editing
Dropdowns for minute, hour, day-of-month, month, and day-of-week. Each dropdown shows human-readable options ("Every 15 min", "Mon-Fri", "January") next to the cron syntax they generate. The 5-field expression updates as you change any field, and the dropdowns update if you type the expression directly — so you can work from either end.
Plain-English description
Below the cron expression, a sentence describes when the job will run: "At 09:00, on Monday." This catches the off-by-one mistakes that cause a job to run 6 hours late, or run every day instead of weekly, before they become a 3 AM PagerDuty alert. The description is generated from the expression, not from the dropdowns, so it correctly describes anything you paste in — including expressions someone else wrote.
Next 5 run times computed live
Below the description, the tool computes the next 5 execution times in your local timezone using cron-parser — the same library most Node.js cron schedulers use. Each row shows the absolute datetime ("2026-05-19 09:00:00"), a relative hint ("in 18 hours", "tomorrow", "in 3 days"), and a small chip marking whether the run is today, this week, or further out. The list updates instantly as you edit the expression. Toggle "Show 10" if 5 is not enough to confirm a long cadence. This is the fastest way to catch an expression that looks right but actually fires every day instead of every Monday — you see the dates with your own eyes before deploying.
Preset shortcuts
One-click presets for the schedules everyone actually uses: every minute, every hour, daily at midnight, Monday 9 AM, monthly on the 1st. Clicking a preset fills both the expression and all the field dropdowns so you can fine-tune from there. These five cover maybe 70% of all cron expressions in the wild; the rest are slight variations on these.