Cron expression for every 12 hours

The cron expression to run a job every 12 hours is 0 */12 * * *. Preview upcoming executions in any timezone and copy it straight into your scheduler.

0minute
*/12hour
*day
*month
*weekday

In Plain English

What your cron expression actually means.

On the hour, every 12 hours, every day

Upcoming Executions

Preview the next 50 times this schedule will trigger.

Calculating…

About 0 */12 * * *

0 */12 * * * fires at minute 0 of every 12 hours, starting at midnight. Since 12 divides 24 evenly, every gap in the day is the same length.

Cron reads the five fields as minute hour day month weekday. For this schedule that breaks down as:

FieldPositionMatches
0minute0
*/12hour0, 12
*day of monthevery day
*monthevery month
*day of weekevery day of the week

New to cron? Read the syntax reference or the FAQ.

Use it in crontab or GitHub Actions

Both snippets are ready to paste. A crontab runs in the server's local timezone; GitHub Actions always evaluates schedules in UTC. For Kubernetes, AWS EventBridge, or Vercel, use the export menu in the calculator above.

crontab

# On the hour, every 12 hours, every day
0 */12 * * * /path/to/command

GitHub Actions workflow

# On the hour, every 12 hours, every day
# Note: GitHub Actions always runs schedules in UTC.
on:
  schedule:
    - cron: '0 */12 * * *'

Repeating intervals

Build a custom cron expression →