Cron Expression Generator
Build, validate and preview cron schedules with live next-run times
Next 5 runs
Everything runs in your browser — your schedule stays on your device.
Describe the schedule, then verify it
- 1
Pick a preset or edit the five fields directly; the human-readable sentence updates as you type.
- 2
Copy the line into crontab -e, and check the next-run preview to confirm it means what you think.
What this generator emits — and why
- Plain five-field crontab (minute hour day month weekday) — the lowest common denominator that works on every Unix cron, not vendor extensions.
- Weekday accepts both 0 and 7 for Sunday because real crons disagree; steps like
*/15are used instead of@daily-style macros for portability. - The expression itself carries no time zone — it runs in whatever zone the daemon uses, which is why the next-runs preview below pins one explicitly.
Five fields, and the dialects behind them
Next runs, not just syntax
Beyond validation, the tool computes your next five actual run times from your clock — so "0 3 * * 1" becomes real Monday dates you can trust in production.
Presets for the common cases
Every minute, hourly, daily at 9am, weekly, monthly, yearly and more are one click — then the generated expression is yours to tweak.
Private and instant
Everything — validation and next-run math — runs in your browser; no schedule leaves your machine and no account or login is needed.
Frequently asked questions
What do the five fields mean?⌄
minute (0-59), hour (0-23), day-of-month (1-31), month (1-12) and day-of-week (0-6, 0=Sunday). Each field accepts a single value, a list (1,2,3), a range (1-5), a step (*/5) or combinations.
How do day-of-month and day-of-week combine?⌄
When only one of them is set it applies directly. When both are set, the standard cron behavior applies these as an OR (matches either). The tool follows that convention and reflects it in the previewed next-run times.
Is my schedule uploaded anywhere?⌄
No. Everything runs in your browser with plain JavaScript — nothing you enter is transmitted or stored.
Why does my job fire at the wrong hour?⌄
The cron daemon’s time zone wins over yours. A server on UTC running your 09:00 expression fires at 17:00 Beijing time. Set CRON_TZ or the daemon’s TZ, then re-read the preview here before assuming the schedule is wrong.
Related tools
What is a cron expression generator?
Cron is the classic Unix scheduler, and its five-field expression format — minute, hour, day of month, month, day of week — is reused by cloud schedulers, CI systems, data pipelines and web hosts. Writing that syntax by hand is error-prone: "0 3 * * 1" and "0 3 * * 0" differ by one character but schedule completely different days. A generator turns friendly choices (hourly? at 3am? on weekdays?) into the exact string, validates it immediately, and — more usefully — computes the actual next firing times from your local clock so you can trust the schedule before you deploy it.
What it can do
- Build the five fields: minute, hour, day-of-month, month, day-of-week
- One-click presets: every minute, hourly, daily, weekly, monthly, yearly
- Validate the expression and pinpoint the invalid field
- Compute and preview the next five real run times in your timezone
- Support steps, ranges and lists inside each field
- Copy the ready-to-use cron line
When to use it
- Writing crontab entries on your own servers
- Configuring cloud functions, scheduled jobs or data pipelines
- Setting up periodic CI/build or backup tasks
- Explaining cron syntax to teammates or students
Privacy: the conversion happens entirely in your browser — nothing you paste is ever uploaded.