Skip to content
Unix cron100% Client-Side

Cron Expression for Every 12 Hours

0 */12 * * *On the hour, every 12 hours

The Unix cron expression "0 */12 * * *" runs a task every 12 hours. Preview the next run times in your timezone, read the plain-English translation, and copy ready-to-paste snippets for crontab, Node.js, GitHub Actions, and AWS EventBridge.

Live playground

  • Min0
  • Hour*/12
  • DOM*
  • Month*
  • DOW*

On the hour, every 12 hours

Unix cron · evaluated in UTC

24-hour view

Hover a highlighted hour for precise timestamps. Showing the next 50 executions.

Upcoming runs

Timezone

Runs are simulated in the selected IANA timezone. Auto-detected from your browser on first load.

Field breakdown

How each field of 0 */12 * * * is interpreted in the Unix cron format.

Field breakdown of 0 */12 * * *
FieldValueAllowedStatus
Minute00-59Valid
Hour*/120-23Valid
Day of Month*1-31Valid
Month*1-12 or JAN-DECValid
Day of Week*0-7 or SUN-SAT (0 and 7 = SUN)Valid

Use “0 */12 * * *” in real code

Copy-paste configurations for the most common schedulers, converted to each platform’s dialect where needed.

import cron from 'node-cron';

cron.schedule('0 */12 * * *', () => {
  console.log('Running task...');
});

Frequently asked questions

What does the cron expression "0 */12 * * *" mean?

"0 */12 * * *" is a Unix cron expression that means: On the hour, every 12 hours. It contains 5 fields — Minute (0), Hour (*/12), Day of Month (*), Month (*), Day of Week (*) — and works in any scheduler that accepts the Unix cron format.

How does "0 */12 * * *" behave in UTC versus local time?

The classic cron daemon interprets every field in the machine's local timezone (from /etc/timezone or the TZ environment variable). If the server runs in UTC the schedule fires in UTC; otherwise shift the hours accordingly. Modern cronie also supports CRON_TZ to pin a single job to UTC.

How do I test "0 */12 * * *" on a Linux server?

Add it with crontab -e, save, and watch the log: /var/log/syslog on Debian/Ubuntu or /var/log/cron on RHEL-family systems shows every firing. For a dry run without touching your crontab, use the simulator at the top of this page — it computes the next runs locally in your browser.

About the “0 */12 * * *” schedule

0 */12 * * * is the Unix cron way to say “On the hour, every 12 hours”. The simulator above evaluates it entirely in your browser — the timeline, the next-run table, and the timezone switcher all run client-side, so you can paste production schedules without them ever leaving your machine.

Every page in this directory follows the same structure: a plain-English translation, a per-field breakdown, platform-specific snippets, and a timezone-aware simulator. Move between the related intervals below to compare dialects, and validate one final time in the simulator with your own timezone before shipping.

Adjacent intervals and the same schedules expressed for other platforms.