Cron Expression Generator — Build Cron Schedules Visually
Build cron expressions from a friendly UI — every N minutes, daily at HH:MM, weekdays only, weekly, monthly, yearly. Preview the next 5 runs and a plain-English description. 100% local.
Last updated:
CommentsPick a schedule preset (every N minutes, daily, weekly, weekdays only, custom, …) and get a standard 5-field cron expression with a plain-English description and the next 5 run times previewed in your local zone. Ready to paste into crontab, GitHub Actions, Vercel Cron, or a Kubernetes CronJob.
Parameters
Cron expression
0 9 * * *
At 9:00.
Next 5 runs (your local time)
- 1.Sat, Sep 19, 2026, 09:00 AM
- 2.Sun, Sep 20, 2026, 09:00 AM
- 3.Mon, Sep 21, 2026, 09:00 AM
- 4.Tue, Sep 22, 2026, 09:00 AM
- 5.Wed, Sep 23, 2026, 09:00 AM
What is Cron Generator?
A cron expression describes a recurring schedule using five whitespace-separated fields: minute, hour, day-of-month, month, day-of-week. It looks cryptic — `0 9 * * 1-5` runs at 9 AM on weekdays — and getting the field semantics right (especially the OR between day-of-month and day-of-week) trips up almost everyone once. Rather than writing the expression by hand, a cron generator lets you pick a schedule intent from a UI and produces the correct expression. This tool covers the 10 most common schedule shapes plus a free-form custom mode, and always shows the plain-English description and the actual next-5 run times so you can verify the schedule before shipping.
How to build a cron expression online
- 1Pick a schedule preset — e.g. 'Weekly on a chosen day' or 'Every N minutes'.
- 2Fill in the parameters shown for that preset (minute, hour, day, N, …).
- 3The 5-field cron expression appears at the top of the results card, ready to copy.
- 4Read the plain-English description and next 5 run times to confirm the schedule matches your intent.
- 5Switch to 'Custom expression' to hand-write a cron string and use the same preview / description features.
Tips & Best Practices
- ▸cron on most servers runs in UTC — if you want 9 AM local, offset the hour field by your UTC offset (or verify the target scheduler's timezone setting).
- ▸day-of-month (field 3) and day-of-week (field 5) are OR'd when both are restricted — `0 9 1 * 1` fires on the 1st of the month AND on every Monday, not their intersection.
- ▸GitHub Actions ignores schedules more frequent than 5 minutes on public repos, and can be delayed under load. Don't use cron for hard real-time triggers.
- ▸For sub-minute schedules, use a systemd timer with OnUnitActiveSec or a long-running process; cron cannot do it.
Frequently Asked Questions
What cron syntax does the generator target?
Standard 5-field Unix cron: minute, hour, day-of-month, month, day-of-week. This matches crontab on Linux/macOS, GitHub Actions schedule triggers, Kubernetes CronJob spec.schedule, Vercel Cron, and most cloud schedulers.
Does it support 6-field (with seconds) or Quartz-style cron?
Not directly. Quartz and Spring's TaskScheduler use extended syntax (seconds field, L / W / # modifiers). For those systems, generate a standard 5-field expression here and adapt manually.
Are the preview times in my local zone or UTC?
The next-run preview is computed in your browser's local time zone. Note that cron on most servers runs in UTC — check your scheduler's docs and adjust the hour field accordingly.
What's the smallest interval I can schedule?
Once per minute (* * * * *). Cron cannot go finer than that — for sub-minute schedules, use a systemd timer or an application-level scheduler with sleep loops.
Is the expression uploaded anywhere?
No. Generation and preview run entirely in your browser as client-side JavaScript.
Try Next
Age Calculator
Calculate your exact age in years, months, and days from a date of birth. Shows total weeks, days, hours, and minutes lived, plus the countdown to your next birthday. 100% local — nothing uploaded.
Related Tools
Cron Parser
Parse and explain cron expressions in plain English. See the next 5 upcoming run times for any schedule.
Timestamp Converter
Convert Unix timestamps to human-readable dates and vice versa. Supports seconds, milliseconds, ISO 8601, and every timezone. Free, no signup, runs entirely in your browser.
Date Diff
Calculate the exact duration between two dates in years, months, and days, plus total weeks / days / hours / minutes and business days. Optional time-of-day precision. 100% local.
ISO 8601 Duration
Parse ISO 8601 duration strings (P3Y6M4DT12H30M5S, PT1H30M, P2W) into human-readable form, or convert total seconds into a canonical ISO 8601 duration. 100% local — used by REST APIs, video metadata, and scheduling systems.
Timezone Converter
Convert any date and time between IANA time zones — UTC to EST, PST to Tokyo, Sydney to London. Correct DST handling, compare multiple zones side-by-side. 100% local.
Working Days
Count business (working) days between two dates. Customize your workweek (M-F, M-Sat, custom) and paste a list of holidays to exclude them. Also shows total days, weekend days, and calendar span. 100% local.