Cron expression

Every 30 minutes

*/30 * * * *

Runs twice an hour, on the hour and at half past, 48 times a day.

Runs per month

≈ 1,440

Next run (UTC)

Thu 14:30

On CronEngine

Runs on the free plan

What each part means

Minute */30 every 30 minutes
Hour * every hour
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 14:30 UTC
  2. 2 Thursday 22 October 2026 15:00 UTC
  3. 3 Thursday 22 October 2026 15:30 UTC
  4. 4 Thursday 22 October 2026 16:00 UTC
  5. 5 Thursday 22 October 2026 16:30 UTC

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

Good to know

Typical uses: Pulling analytics, syncing a CRM, rotating logs on a busy server.

Copy and paste

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

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')->everyThirtyMinutes();

Variations

15,45 * * * * Twice an hour, at quarter past and quarter to
0 * * * * Every hour, on the hour →

Questions

What is the cron expression for every 30 minutes?

*/30 * * * *. Runs twice an hour, on the hour and at half past, 48 times a day.

Can GitHub Actions run every 30 minutes?

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