Crontab Generator
Build and validate cron expressions with human-readable explanations.
min hr dom month dow
Human-Readable
Run every minute
Field Breakdown
Minute (0–59)
*
Every minute
Hour (0–23)
*
Every hour
Day of Month (1–31)
*
Every day of month
Month (1–12)
*
Every month
Day of Week (0–6)
*
Every day of week
Next 5 Execution Times
Common Presets
About the Crontab Generator
Build and decode cron expressions with a plain-English explanation of when they run. Cron's five-field syntax is famously easy to misread, and the cost of a misread is a job that silently runs every minute instead of once a month.
How to use it
- 1 Paste an existing cron expression to see what it means in plain English.
- 2 Or build one field by field: minute, hour, day of month, month, day of week.
- 3 Check the list of upcoming run times to confirm the schedule.
- 4 Copy the expression into your crontab or CI configuration.
What it does
- Plain-English translation of any cron expression
- Next scheduled run times preview
- Field-by-field builder with valid ranges
- Supports steps (*/5), ranges (1-5) and lists (1,3,5)
Frequently asked questions
What do the five cron fields 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 is Sunday). An asterisk means "every". So 30 2 * * 1 runs at 02:30 every Monday.
Why does my job run more often than expected?
The classic mistake is leaving a field as * when you meant to pin it. "0 * * * *" runs every hour on the hour, not once a day — for daily you need the hour pinned too, as in "0 3 * * *". Always check the next-run preview rather than trusting your reading of the fields.
What happens if I set both day-of-month and day-of-week?
They are ORed, not ANDed, which surprises almost everyone. "0 0 1 * 1" runs on the 1st of the month AND every Monday, not only on Mondays that fall on the 1st. To restrict to a specific weekday, leave day-of-month as *.
What does */5 mean?
A step value: every 5 units through the field's range. In the minute field, */5 means minute 0, 5, 10 and so on. Note it steps from the start of the range, so */7 in the minute field fires at 0, 7, ... 56 and then restarts at 0 — an eleven-minute gap across the hour boundary.
Which timezone does cron use?
Traditional Unix cron uses the server's local timezone, which means daylight-saving transitions can skip or duplicate a run. Most managed schedulers now let you specify a timezone explicitly, and setting it to UTC avoids the problem entirely.