# Run a Cron Job Every 20 Minutes

> The cron expression for every 20 minutes is */20 * * * *. What each field means, next run times, and how to offset it from the top of the hour.

```
*/20 * * * *
```

In plain English: Every 20 minutes.

*/20 fires three times an hour, at :00, :20 and :40. Because 20 divides 60 evenly, the gap is always exactly 20 minutes, even across the hour boundary — unlike steps such as */25, which leave a short gap before each new hour.

## Field by field

| Field | Value | Meaning |
|---|---|---|
| Minute | `*/20` | every 20 minutes |
| Hour | `*` | every hour |
| Day of month | `*` | every day |
| Month | `*` | every month |
| Day of week | `*` | every weekday |

## Variations

- `0,20,40 * * * *` — the explicit-list equivalent
- `5-59/20 * * * *` — offset to :05, :25 and :45
- `*/20 6-23 * * *` — every 20 minutes from 06:00 to 23:59 only

## FAQ

### Why doesn't */25 run every 25 minutes?

Steps restart every hour. */25 matches minutes 0, 25 and 50, so the gap from :50 to the next :00 is only 10 minutes. Only steps that divide 60 — 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30 — give a constant interval.

### How do I start every-20-minutes at a specific minute?

Use a range with a step: 7-59/20 runs at :07, :27 and :47. The start of the range sets the offset.

## Related schedules

- [*/15 * * * * — Run a Cron Job Every 15 Minutes](https://www.devkult.com/cron/every-15-minutes.md)
- [*/30 * * * * — Run a Cron Job Every 30 Minutes](https://www.devkult.com/cron/every-30-minutes.md)
- [*/10 * * * * — Run a Cron Job Every 10 Minutes](https://www.devkult.com/cron/every-10-minutes.md)

Open the interactive page: https://www.devkult.com/cron/every-20-minutes