Skip to main content

Cron every 3 minutes

*/3 * * * *

Every 3 minutes, every hour, every day.

Next runs · UTC

Calendar

September 2026 · UTC

0 runs

The cron expression for every 3 minutes

*/3 * * * *

The minute step */3 resolves to 0, 3, 6, 9, …, 57 - 20 firings per hour. Three is a divisor of 60, so the cadence is perfectly even (no 4-vs-3-minute alternation that you get with non-divisors like 7).

See the dedicated guide for the full breakdown: Cron every minute.

Paste it into the editor above to see the next runs on a calendar.

When to run a job every 3 minutes

  • Polling an API or a queue every 3 minutes when no webhook is available.
  • Health checks and uptime probes that should notice an outage within one interval.
  • Cache, dashboard, or search-index refreshes where slightly stale data is acceptable.

Run this cron anywhere

*/3 * * * * is five-field cron syntax. It works as is in:

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

  • */3 9-17 * * 1-5 - every 3 minutes during business hours on weekdays
  • 1-59/3 * * * * - every 3 minutes offset by 1 (xx:01, xx:04, …, xx:58)

Gotchas when running every 3 minutes

  • Clock-aligned, not interval-based - */3 * * * * fires when the minute matches, counting from minute 0 of each hour. It is not "3 minutes after the previous run", and a run missed while the host was down is not replayed.
  • Overlapping runs - A run that takes longer than 3 minutes overlaps the next one. Wrap the command in flock -n or set concurrencyPolicy: Forbid on Kubernetes; Vercel and EventBridge may overlap runs if the previous one is still executing, so make the handler idempotent.

Examples

  • 0 18 * * *
    Every day at 18:00
  • 0 */5 * * *
    Every 5 hours
  • 0 18 * * 1-5
    Weekdays at 18:00
  • 0 0 1 * *
    Once a month, on the 1st at midnight

Cheatsheet

Full cheatsheet
FieldReq.RangeWildcards
minuteyes0-59, - * /
houryes0-23, - * /
day of monthyes1-31, - * /
monthyes1-12 or JAN-DEC, - * /
day of weekyes0-6 or names; some dialects use 0-7 or 1-7 — see Dialects, - * /

Frequently asked questions

Timing

Why does */3 stop at :57 instead of :59?

Because the sequence starts at :00 and advances by three: :00, :03, …, :57. It produces 20 runs per hour, and the :57-to-next-:00 gap is exactly three minutes. Expression: */3 * * * *

Open in editor
How do I offset an every-3-minutes cron by one minute?

Use 1-59/3 * * * *. It fires at :01, :04, :07, and every third minute through :58. Expression: 1-59/3 * * * *

Open in editor
How do I run every 3 minutes only during weekday business hours?

Use */3 9-17 * * 1-5. Because 9-17 is inclusive, the cadence continues through 17:57 on weekdays. Expression: */3 9-17 * * 1-5

Open in editor
Business hours guide
What detection delay does a three-minute poll provide?

At best it checks immediately; at worst a change waits almost three minutes, plus queue and execution delay. Use this cadence only when that bound justifies 480 daily runs.

Every 5 minutes guide

Days and months

How do I run every 3 minutes all day on weekdays only?

Use */3 * * * 1-5. The day-of-week restriction pauses the schedule on Saturday and Sunday without changing the minute alignment. Expression: */3 * * * 1-5

Open in editor
Weekday cron guide

Timezones and DST

What happens to an every-3-minutes schedule during DST?

Behaviour depends on the scheduler. 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 keep the three-minute cadence unchanged.

Timezone and DST reference

Platforms

Can GitHub Actions run every 3 minutes?

No. GitHub Actions scheduled workflows have a five-minute floor; */5 * * * * is the nearest supported slower cadence. EventBridge's one-minute floor permits every three minutes. Expression: */5 * * * *

Open in editor
Cron dialect matrix
What is the AWS EventBridge expression for every 3 minutes?

Use cron(0/3 * * * ? *). EventBridge includes a year field, requires ? in one day field, and wraps the six fields in cron(...). Expression: 0/3 * * * ? *

Open in editor
AWS cron guide
What is the Quartz expression for every 3 minutes?

Use 0 0/3 * * * ?. Quartz reads the leading 0 as seconds and starts the minute step at minute zero. Expression: 0 0/3 * * * ?

Open in editor
Quartz cron guide

Debugging

How should a three-minute poll define its data window?

Use a persisted high-water mark and query from that mark through the current run time. Cron does not replay a missed slot, so fixed three-minute wall-clock windows can lose data after downtime.

Crontap

What should I consider before polling every 3 minutes?

This schedule makes 480 calls per day, so check API quotas, execution cost, and overlap risk. Crontap can run it with retries when a scheduled HTTP request fails.

Schedule API calls

General

What is the cron expression for every 3 minutes?

*/3 * * * *. Paste this into Linux crontab, Vercel cron, node-cron, robfig/cron, or a Kubernetes CronJob to run a job every 3 minutes; AWS EventBridge and Quartz need the six-field form.

How can I verify this cron actually runs every 3 minutes?

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 */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