How the five crontab fields work, and 61 common schedules with their next run times computed live in UTC.
┌───────────── minute (0-59)
│ ┌─────────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌─────── month (1-12 or JAN-DEC)
│ │ │ │ ┌───── day of week (0-7 or SUN-SAT; 0 and 7 are Sunday)
│ │ │ │ │
* * * * * command to run
| Operator | Meaning | Example |
|---|---|---|
* | every value of the field | * * * * * every minute |
, | a list of values | 0 9,17 * * * at 09:00 and 17:00 |
- | an inclusive range (ranges cannot wrap, so FRI-MON is invalid) | 0 9 * * 1-5 weekdays |
/ | a step within the range; */15 = 0,15,30,45 | */15 * * * * every 15 minutes |
Steps count from the start of the range and restart at each hour, day or month, so only steps that divide the range give even spacing (*/45 and 0 */5 show what happens otherwise).
| String | Same as | Schedule |
|---|---|---|
@yearly | 0 0 1 1 * | Every year on January 1st |
@annually | 0 0 1 1 * | Every year on January 1st |
@monthly | 0 0 1 * * | First day of every month |
@weekly | 0 0 * * 0 | Every Sunday at midnight |
@daily | 0 0 * * * | Every day at midnight |
@midnight | 0 0 * * * | Every day at midnight |
@hourly | 0 * * * * | Every hour |
@reboot | - | once, when the cron daemon starts (usually at boot). Not supported by Kubernetes, GitHub Actions or EventBridge. |
*), the job runs when either matches. 0 9 1-7 * 1 runs on days 1-7 and on every Monday, not on the first Monday; see first Monday of every month for the working version.CRON_TZ= in the crontab). Kubernetes uses the controller manager's zone unless spec.timeZone is set; GitHub Actions and EventBridge rules always use UTC. Times on this site are UTC.% ends the command and the rest is sent to stdin. Write date +\%F.PATH and no login shell, so use absolute paths or set PATH= at the top of the crontab, and redirect output or set MAILTO.Persistent=true and Kubernetes startingDeadlineSeconds can catch up.?; Quartz has seconds first; both number days of the week 1 (Sunday) to 7. Each schedule page below shows the converted form.Next run times are computed for 2026-11-11 02:13 UTC.
| Schedule | Expression | Next run (UTC) |
|---|---|---|
| Every 5 minutes | */5 * * * * | Wed 11 Nov 02:15 |
| Every minute | * * * * * | Wed 11 Nov 02:14 |
| Every 15 minutes | */15 * * * * | Wed 11 Nov 02:15 |
| Every 10 minutes | */10 * * * * | Wed 11 Nov 02:20 |
| Every 30 minutes | */30 * * * * | Wed 11 Nov 02:30 |
| Every 2 minutes | */2 * * * * | Wed 11 Nov 02:14 |
| Every 20 minutes | */20 * * * * | Wed 11 Nov 02:20 |
| Every 3 minutes | */3 * * * * | Wed 11 Nov 02:15 |
| Every 5 minutes during business hours | */5 9-17 * * 1-5 | Wed 11 Nov 09:00 |
| Every 45 minutes (not really) | */45 * * * * | Wed 11 Nov 02:45 |
| Every 7 minutes | */7 * * * * | Wed 11 Nov 02:14 |
| Every minute during business hours | * 9-17 * * 1-5 | Wed 11 Nov 09:00 |
| Schedule | Expression | Next run (UTC) |
|---|---|---|
| Every hour | 0 * * * * | Wed 11 Nov 03:00 |
| Every hour during business hours | 0 9-17 * * 1-5 | Wed 11 Nov 09:00 |
| Every 2 hours | 0 */2 * * * | Wed 11 Nov 04:00 |
| Every 6 hours | 0 */6 * * * | Wed 11 Nov 06:00 |
| Every 12 hours | 0 */12 * * * | Wed 11 Nov 12:00 |
| Every 3 hours | 0 */3 * * * | Wed 11 Nov 03:00 |
| Every 4 hours | 0 */4 * * * | Wed 11 Nov 04:00 |
| Every hour at half past | 30 * * * * | Wed 11 Nov 02:30 |
| Every 8 hours | 0 */8 * * * | Wed 11 Nov 08:00 |
| Every 5 hours (uneven) | 0 */5 * * * | Wed 11 Nov 05:00 |
| Every 6 hours at a quiet minute | 17 */6 * * * | Wed 11 Nov 06:17 |
| Schedule | Expression | Next run (UTC) |
|---|---|---|
| Every day at midnight | 0 0 * * * | Thu 12 Nov 00:00 |
| Every day at noon | 0 12 * * * | Wed 11 Nov 12:00 |
| Every day at 2am | 0 2 * * * | Thu 12 Nov 02:00 |
| Every day at 1am | 0 1 * * * | Thu 12 Nov 01:00 |
| Every day at 3am | 0 3 * * * | Wed 11 Nov 03:00 |
| Every day at 6am | 0 6 * * * | Wed 11 Nov 06:00 |
| Every day at 8am | 0 8 * * * | Wed 11 Nov 08:00 |
| Every day at 9am | 0 9 * * * | Wed 11 Nov 09:00 |
| Every day at 5pm | 0 17 * * * | Wed 11 Nov 17:00 |
| Every day at 6pm | 0 18 * * * | Wed 11 Nov 18:00 |
| Every day at 11:59pm | 59 23 * * * | Wed 11 Nov 23:59 |
| Twice a day | 0 0,12 * * * | Wed 11 Nov 12:00 |
| Twice a day at 9am and 5pm | 0 9,17 * * * | Wed 11 Nov 09:00 |
| Every other day | 0 0 */2 * * | Fri 13 Nov 00:00 |
| Every day at 4am | 0 4 * * * | Wed 11 Nov 04:00 |
| Every day at 10pm | 0 22 * * * | Wed 11 Nov 22:00 |
| Schedule | Expression | Next run (UTC) |
|---|---|---|
| Every weekday at 9am | 0 9 * * 1-5 | Wed 11 Nov 09:00 |
| Every Monday at 9am | 0 9 * * 1 | Mon 16 Nov 09:00 |
| Every Sunday at midnight | 0 0 * * 0 | Sun 15 Nov 00:00 |
| Every weekday at midnight | 0 0 * * 1-5 | Thu 12 Nov 00:00 |
| Every Friday at 5pm | 0 17 * * 5 | Fri 13 Nov 17:00 |
| Every Saturday at midnight | 0 0 * * 6 | Sat 14 Nov 00:00 |
| Every Monday at midnight | 0 0 * * 1 | Mon 16 Nov 00:00 |
| Every Friday at midnight | 0 0 * * 5 | Fri 13 Nov 00:00 |
| Every Saturday and Sunday at midnight | 0 0 * * 6,0 | Sat 14 Nov 00:00 |
| Every Sunday at 3am | 0 3 * * 0 | Sun 15 Nov 03:00 |
| Every Monday, Wednesday and Friday at 9am | 0 9 * * 1,3,5 | Wed 11 Nov 09:00 |
| Every Tuesday and Thursday at 9am | 0 9 * * 2,4 | Thu 12 Nov 09:00 |
| Every weekday at 6pm | 0 18 * * 1-5 | Wed 11 Nov 18:00 |
| Schedule | Expression | Next run (UTC) |
|---|---|---|
| First day of every month | 0 0 1 * * | Tue 01 Dec 00:00 |
| Twice a month (1st and 15th) | 0 0 1,15 * * | Sun 15 Nov 00:00 |
| Every month on the 15th | 0 0 15 * * | Sun 15 Nov 00:00 |
| Last day of every month | 0 0 28-31 * * | Mon 30 Nov 00:00 |
| On the 31st of the month | 0 0 31 * * | Thu 31 Dec 00:00 |
| Every quarter | 0 0 1 */3 * | Fri 01 Jan 00:00 |
| Every 6 months | 0 0 1 1,7 * | Fri 01 Jan 00:00 |
| Every year on January 1st | 0 0 1 1 * | Fri 01 Jan 00:00 |
| First Monday of every month | 0 9 1-7 * * | Mon 07 Dec 09:00 |
The Crontab Generator turns a preset or custom fields into a crontab line with the command and output handling.