Cron Expression Generator
Build cron schedules visually and preview next run times.
Recommended tools
Free CDN, DNS, and edge hosting for developers.
Affordable domains and SSL certificates.
Affiliate links — we may earn a commission if you sign up.
About the Cron Expression Generator
The Cron Expression Generator builds five-field cron schedules visually and proves they work before you ship them. Each of the five fields — minute, hour, day-of-month, month, and day-of-week (0 = Sunday) — gets its own row with a mode selector: Every (*), Specific, Range (a-b), Step (*/n), or List (a,b,c), with number inputs validated against each field's legal range and month and weekday names shown as you type. Ten one-click presets cover the schedules people actually need, from Every minute through Hourly and Weekdays 8:30am to Weekends noon. The generated expression renders in a large monospace box with a live Valid/Invalid status, a plain-English description of each field, and a Copy button; below it, the Next 5 executions card computes concrete upcoming run times from your local clock using standard cron semantics, where day-of-month and day-of-week combine as OR when both are restricted. A quick-reference strip documents field order and the */n, a-b, a,b,c syntax. For crontab entries, GitHub Actions schedules, or Kubernetes CronJobs, it removes the guesswork.
Examples
Preset: Weekdays 8:30am
30 8 * * 1-5
Minute: Step (*/n) with n = 15, other fields Every
*/15 * * * *
Minute: Specific 0 · Hour: Specific 0 · Day of month: Specific 1
0 0 1 * *
How to use
- 1
Click a preset button (e.g. Every 15 min) to start from a known-good schedule.
- 2
For each of the five fields, choose a mode: Every, Specific, Range, Step, or List.
- 3
Fill the numeric inputs that appear for the chosen mode — the row validates the range live.
- 4
Copy the generated cron expression with the Copy button or download it as cron.txt.
- 5
Check the Next 5 executions card to confirm the schedule fires when you expect.
Common use cases
- Building a crontab entry without memorizing the five-field order.
- Generating GitHub Actions cron schedules for CI triggers.
- Creating Kubernetes CronJob schedules for periodic jobs.
- Verifying what a vendor-supplied cron string actually does by rebuilding it visually.
- Choosing between day-of-month and day-of-week semantics with the preview.
- Documenting a schedule with the plain-English field descriptions.
Best practices
- Remember this tool emits five-field cron (no seconds); Quartz and some systems need six fields.
- Day-of-week is 0–6 with 0 = Sunday here — double-check the platform, since some systems treat 0 as Monday.
- When both day-of-month and day-of-week are restricted, cron fires when either matches (OR), which surprises people — use the preview to confirm.
- Validate the Next 5 executions against your own timezone expectations before deploying.
- Prefer step expressions like */15 over long lists for readability in stored crontabs.
- For schedules that never fire within a year (like Feb 31), the tool reports it — trust the empty-state message.
Tips
- Start from the closest preset — it fills all five fields correctly and you only tweak one or two.
- Read the plain-English description under the expression before copying; it catches wrong-field mistakes.
- Check the Next 5 executions after any change to feel the rhythm of the schedule.
- Keep day-of-month or day-of-week at * unless you have a specific reason, to avoid OR-matching surprises.
Frequently asked questions
Explore more developer tools
Browse the full collection of developer tools on the hub, or jump back to all categories.