Cron expression

Every 3 hours

0 */3 * * *

Runs eight times a day: at 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00 and 21:00.

Runs per month

≈ 240

Next run (UTC)

Thu 15:00

On CronEngine

Runs on the free plan

What each part means

Minute 0 at minute 0
Hour */3 every 3 hours
Day of month * every day of the month
Month * every month
Day of week * every day of the week

Next runs

  1. 1 Thursday 22 October 2026 15:00 UTC
  2. 2 Thursday 22 October 2026 18:00 UTC
  3. 3 Thursday 22 October 2026 21:00 UTC
  4. 4 Friday 23 October 2026 00:00 UTC
  5. 5 Friday 23 October 2026 03:00 UTC

See these in your own timezone, or change the schedule →

Good to know

Typical uses: Pricing updates, backing up a busy database, pulling data from a slow API.

Copy and paste

crontab -e Crontab
0 */3 * * * /path/to/script.sh
.github/workflows/scheduled.yml GitHub Actions
on:
  schedule:
    - cron: '0 */3 * * *'

GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy. How to start it on time.

routes/console.php Laravel
Schedule::command('your:command')->everyThreeHours();

Variations

30 */3 * * * Every 3 hours, at half past
0 */6 * * * Every 6 hours →

Questions

What is the cron expression for every 3 hours?

0 */3 * * *. Runs eight times a day: at 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00 and 21:00.

Can GitHub Actions run every 3 hours?

Yes, with cron: '0 */3 * * *'. GitHub Actions reads this in UTC, and scheduled runs can start late when GitHub is busy.