Cron every 3 hours
0 */3 * * *At 0 minutes past the hour, every 3 hours, every day.
Next runs · UTC
- —
- —
- —
- —
- —
Calendar
September 2026 · UTC
0 runs
About this tool
0 */3 * * *. Eight runs per day at 00:00, 03:00, 06:00, …, 21:00. Use this cadence for thrice-a-day reports, periodic snapshots and tight overnight loops.The cron expression for every 3 hours
0 */3 * * *
The hour step */3 selects 0, 3, 6, 9, 12, 15, 18, 21 - eight firings per day. Three is a divisor of 24 so the spacing is perfectly even.
See the dedicated guide for the full breakdown: Cron every hour.
Paste it into the editor above to see the next runs on a calendar.
When to run a job every 3 hours
- Syncing data between two systems every 3 hours without hammering either side.
- Rotating logs, cleaning temporary files, or compacting a database.
- Digest emails and status reports that would be noise if sent more often.
Run this cron anywhere
0 */3 * * * is five-field cron syntax. It works as is in:
- Linux
crontab-0 */3 * * * /path/to/script.sh - Vercel cron jobs - declare in
vercel.json. - node-cron, robfig/cron and Kubernetes CronJob.
AWS EventBridge and Quartz use six-field expressions with a ? in one of the day fields, so convert first:
- AWS EventBridge -
cron(minute hour day-of-month month ? year); see the AWS guide. - Quartz Scheduler - prepend a seconds field (
0) and replace one day field with?; see the Quartz guide.
Useful variations
0 */3 * * 1-5- every 3 hours on weekdays only0 1-22/3 * * *- every 3 hours offset by 1 (01, 04, 07, …, 22)
Gotchas when running every 3 hours
- Anchored at midnight - The hour step starts at 0, so
0 */3 * * *runs at 00:00, 03:00 and so on regardless of when you installed it. Shift the phase with a range, for example0 1-23/3 * * *. - Timezone and daylight saving - DST handling is scheduler-specific: Vixie/cronie can skip or double local matches; GitHub advances nonexistent local times; EventBridge Scheduler skips spring and runs once in the fall overlap. UTC-only Vercel and Cloudflare schedules are unaffected.
Examples
- 0 18 * * *Every day at 18:00
- 0 */5 * * *Every 5 hours
- 0 18 * * 1-5Weekdays at 18:00
- 0 0 1 * *Once a month, on the 1st at midnight
Cheatsheet
Full cheatsheet| Field | Req. | Range | Wildcards |
|---|---|---|---|
| minute | yes | 0-59 | , - * / |
| hour | yes | 0-23 | , - * / |
| day of month | yes | 1-31 | , - * / |
| month | yes | 1-12 or JAN-DEC | , - * / |
| day of week | yes | 0-6 or names; some dialects use 0-7 or 1-7 — see Dialects | , - * / |
Frequently asked questions
Timing
How many daily runs does a midnight-aligned three-hour cron make?
Eight. 0 */3 * * * fires at 00:00, 03:00, 06:00, through 21:00; because three divides 24, the 21:00-to-midnight gap is also three hours. Expression: 0 */3 * * *
How do I offset the three-hour cadence by one hour?
Use 0 1-22/3 * * *. It fires at 01:00, 04:00, 07:00, through 22:00 while preserving three-hour spacing. Expression: 0 1-22/3 * * *
How do I run every 3 hours at 30 minutes past?
Use 30 */3 * * *. It fires at 00:30, 03:30, 06:30, and every three hours thereafter. Expression: 30 */3 * * *
Days and months
Does 0 9-17/3 * * 1-5 include an 18:00 run?
No. The bounded step selects 09:00, 12:00, and 15:00 on weekdays; 18:00 is outside the inclusive 9-17 range. Expression: 0 9-17/3 * * 1-5
How do I run every 3 hours all day on weekdays only?
Use 0 */3 * * 1-5. The eight daily matches run Monday through Friday and stop on weekends. Expression: 0 */3 * * 1-5
Timezones and DST
Does an every-3-hours cron remain three elapsed hours apart during DST?
Platform behaviour differs. Vixie/cronie can skip or double a selected local hour; GitHub advances nonexistent times; EventBridge Scheduler skips spring and runs once in the overlap. UTC-only Vercel and Cloudflare keep the eight-run UTC pattern unchanged.
Timezone and DST referencePlatforms
What is the AWS EventBridge expression for every 3 hours?
Use cron(0 0/3 * * ? *). EventBridge uses six fields including year, puts ? in one day field, and requires the cron(...) wrapper. Expression: 0 0/3 * * ? *
What is the Quartz expression for every 3 hours?
Use 0 0 0/3 * * ?. The first two zeros pin seconds and minutes, and 0/3 selects every third hour from midnight. Expression: 0 0 0/3 * * ?
Can GitHub Actions and Vercel Hobby run every 3 hours?
GitHub Actions can because three hours is above its five-minute minimum. Vercel Hobby cannot because Hobby cron is limited to once per day.
Cron dialect matrixDebugging
Will cron replay a missed three-hour run?
No. After downtime, standard cron waits for the next hour divisible by three; save processing state if missed windows need catch-up.
Crontap
Can Crontap call an endpoint every 3 hours?
Yes. Crontap can run this three-hour cadence with retries, while an idempotent endpoint prevents duplicate work.
Schedule API callsGeneral
What is the cron expression for every 3 hours?
0 */3 * * *. Paste this into Linux crontab, Vercel cron, node-cron, robfig/cron, or a Kubernetes CronJob to run a job every 3 hours; AWS EventBridge and Quartz need the six-field form.
How can I verify this cron actually runs every 3 hours?
The editor above shows the next 30+ runs on a calendar in your local timezone, plus a plain-English description. If the calendar matches your intent, the cron is correct.
Does 0 */3 * * * work on every platform?
Linux crontab, Vercel cron jobs, node-cron, robfig/cron, and Kubernetes CronJob accept the five-field form as is. AWS EventBridge and Quartz use six-field expressions with a ? in one of the day fields; see the AWS and Quartz guides for the conversion. Vercel's free Hobby plan caps the minimum frequency at once-per-day; the Pro plan removes that cap.
What happens if the previous run is still going when the next one fires?
Most schedulers will start the new run anyway, leading to overlap. To prevent this, wrap the command with flock -n /tmp/myjob.lock /path/to/script.sh on Linux, or set concurrencyPolicy: Forbid on Kubernetes CronJob. Vercel and EventBridge may overlap runs if the previous one is still executing; make the handler idempotent.
Write the cron here. Run it on Crontap.
Point Crontap at any URL. Pick any cron. Done.
WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.
1.9k+ teams · Free forever tier · No credit card