Skip to content

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. 1 Paste an existing cron expression to see what it means in plain English.
  2. 2 Or build one field by field: minute, hour, day of month, month, day of week.
  3. 3 Check the list of upcoming run times to confirm the schedule.
  4. 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.