chain
Cron Expression Builder

COMMON SCHEDULES

Field order is minute · hour · day-of-month · month · day-of-week. When both day-of-month and day-of-week are restricted, cron runs on a day matching either — not both.

// about this tool

Cron Expression Builder Online

Updated 2026-08-04

// how to use

  1. 1 Pick a mode for each field — every, every N, specific values, or a range.
  2. 2 Read the plain-English line and the next run times to check it means what you think.
  3. 3 Copy the expression and paste it into your crontab, CI schedule or scheduler config.

// examples

Every 15 minutes during office hours, weekdays only
Input
Minute: every 15 · Hour: 9 to 17 · Day of week: Mon to Fri
Output
*/15 9-17 * * 1-5
A nightly job
Input
Minute: 0 · Hour: 3
Output
0 3 * * * — at 03:00 every day
The first of every month
Input
Minute: 0 · Hour: 0 · Day of month: 1
Output
0 0 1 * *

// common uses

Writing a crontab line without looking up the field order again Setting a schedule for a CI job, backup or cache warm Checking a schedule really fires when you think before you deploy it Learning what the star, comma, dash and slash forms do

// faq

What do the five fields mean?
In order, minute, hour, day of month, month and day of week. A star means "every", so `* * * * *` runs every minute and `0 3 * * *` runs at 03:00 every day. Some schedulers add a sixth field for seconds or a year, but the five-field form is what crontab itself uses.
What does */5 actually mean?
Every value divisible by 5, counting from zero — so in the minute field it fires at :00, :05, :10 and so on. It is a step, not "five minutes after the job last ran", which matters if you expected the gap to shift.
Why does my job run more often than I expected?
Almost always an unset field. `*/5 * * * *` is every five minutes of every hour, forever. If you meant five-minute intervals only during the morning you also have to constrain the hour field, which is what the hour row here is for.
What happens if I set both day-of-month and day-of-week?
Cron runs the job on a day matching either one, not both. `0 0 1 * 1` is midnight on the 1st AND midnight every Monday. It is the single most surprising rule in cron, so the builder shows you the next run times rather than asking you to trust the expression.
Which timezone do the next run times use?
Your browser's local timezone, because that is the one you can verify at a glance. The server running the job uses its own — usually UTC on a cloud box — so check the timezone there before relying on an exact hour.
Esc
↑↓ navigate open Esc close