Skip to content
CronExplain

Cron expression for every 30 minutes

Running twice an hour, on the hour and at half past, is a good default for tasks such as sitemap regeneration, price updates or reminder emails.

The same schedule in every dialect

DialectExpression
Standard crontab0,30 * * * *
6-field (seconds)0 0,30 * * * *
Quartz0 0,30 * * * ?
Spring0 0,30 * * * *
AWS EventBridgecron(0,30 * * * ? *)
GitHub Actions0,30 * * * *
Kubernetes CronJob0,30 * * * *

What it means

Detected: Standard crontab · Five fields: minute, hour, day of month, month, day of week. Sunday is 0 or 7. If both day fields are restricted, the job runs when either one matches.

✓ Valid · What it means

Every 30 minutes

Presets

Next 10 runs

#In UTCYour local time
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

Same schedule in other dialects

  • Quartz0 0,30 * * * ?
  • AWS EventBridgecron(0,30 * * * ? *)EventBridge rules use UTC.
  • Spring0 0,30 * * * *

Visual builder

Pick values per field. The builder writes a standard five-field expression; it is converted to the selected dialect when you use it.

Minute
Hour
Day of month
Month
Day of week
0 9 * * 1-5

How this expression works

The expression 0,30 * * * * is written in Standard crontab syntax. Read it field by field from left to right: each field narrows down when the job may run, and the scheduler starts the job whenever the current time matches all of them. In plain language it means: Every 30 minutes.

Adapting it to your scheduler

Crontab, Kubernetes and GitHub Actions use the five-field form. Quartz and Spring expect a seconds field in front, and Quartz and AWS also need “?” in one of the two day fields — the table above already takes care of those differences. Remember that GitHub Actions and AWS EventBridge rules run in UTC, while crontab uses the server’s time zone, so the same expression can fire at different local times depending on where it runs.

Check before you deploy

Paste your final expression into the explainer above and choose the time zone of the machine that will run it. The list of next runs shows exactly when the job will start, including around daylight-saving changes, so you can catch an off-by-one-hour mistake before it reaches production.

Frequently asked questions

What is the cron expression for every 30 minutes?
In standard crontab it is 0,30 * * * *. In Quartz it is 0 0,30 * * * ?, and in AWS EventBridge it is cron(0,30 * * * ? *).
Which time zone will it run in?
Crontab uses the server’s local time zone, Kubernetes the controller’s zone or spec.timeZone, and GitHub Actions and AWS EventBridge rules use UTC.
How can I test the schedule?
Paste it into the explainer on this page: it shows the next 10 run times in any time zone, next to your local time.
Can I change it slightly?
Yes. Edit the expression in the tool or use the visual builder; the description and run times update as you type.