Cron Expression Generator
Build cron expressions with dropdowns, get a plain-English explanation and see the next 5 run times. Paste existing crontab lines to decode them.
About the Cron Expression Generator
This cron expression generator builds standard 5-field crontab schedules from friendly dropdowns — minute, hour, day of month, month and day of week — so you never have to remember whether the third field is the day or the month. Each dropdown offers every-N steps (*/5, */15) alongside specific values, and presets cover the classics: every minute, hourly, daily at midnight, weekdays at 9 AM and monthly.
As you build, the tool translates the expression into a plain-English sentence and — crucially — computes the next five run times in your local time zone by actually simulating the schedule. Seeing concrete dates catches the classic mistakes, like a job that fires 60 times an hour because the minute field was left as *.
It also works in reverse: paste any existing cron line from a crontab, CI pipeline or Kubernetes CronJob and it is decoded, explained and previewed instantly.
How to Use the Cron Expression Generator
- 1Pick values in the five dropdowns, or start from a preset.
- 2Or paste an existing cron expression to decode it.
- 3Read the plain-English explanation to confirm the schedule.
- 4Check the next 5 run times to be sure it fires when you expect.
- 5Copy the expression into your crontab, CI config or scheduler.
Frequently Asked Questions
What do the 5 fields in a cron expression mean?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–6, where 0 and 7 both mean Sunday). Each field accepts * (any), specific numbers, comma lists (1,15), ranges (1-5) and steps (*/10). So 30 2 * * 1 means 02:30 every Monday.
How do I run a cron job every 5 minutes?
Use */5 * * * * — the */5 in the minute field means "every minute divisible by 5", so the job fires at :00, :05, :10 and so on, every hour of every day. Pick "Every 5 minutes" in the minute dropdown here and check the next-run list to confirm.
How do I schedule a job for weekdays only at 9 AM?
0 9 * * 1-5 — minute 0, hour 9, any day of month, any month, and days 1 through 5 (Monday to Friday). It's one of the built-in presets. To exclude specific days instead, list the days you want: 0 9 * * 1,3,5 runs Monday, Wednesday and Friday only.
What happens if I set both day-of-month and day-of-week?
Standard cron treats them as OR, not AND: 0 0 13 * 5 runs at midnight on the 13th of each month AND on every Friday — not only Friday the 13th. This surprises almost everyone. If both fields are restricted, this tool notes the OR behaviour in its explanation and the next-run preview reflects it.
Which time zone do cron jobs use?
Whatever time zone the machine (or service) running the scheduler is set to — often UTC on servers and containers. The next-run preview here uses your browser's local time zone, so if your server runs UTC, offset accordingly or set CRON_TZ / the scheduler's timezone option where supported.
Does this support Quartz-style 6 or 7 field expressions?
This tool generates the classic 5-field Unix crontab format understood by cron, GitHub Actions, Kubernetes CronJobs and most schedulers. Quartz (used by some Java apps) adds a leading seconds field and an optional year — to adapt, prepend 0 for seconds, and note Quartz uses ? in day fields and numbers days 1–7.