CronTool
Cron expression editor & debugger

Cron every 15 minutes — `*/15 * * * *` explained

The cron expression for every 15 minutes is */15 * * * *. The minute step */15 resolves to 0, 15, 30 and 45 — the four quarter-hour marks. The job fires 96 times per day, four times an hour.
It's the sweet-spot cadence for most polling jobs: infrequent enough to keep cost and log-noise down, frequent enough for “close to real-time” status checks. Heavier than every 5 minutes is rarely needed; lighter than every hour is rarely useful for monitoring.

Examples

  • 018***
    Every day at 18:00
  • 0*/5***
    Every 5 hours
  • 018**1-5
    Weekdays at 18:00
  • 001**
    Once a month

Cheatsheet

FieldRequiredValues RangeWildcardsminuteYes0-59, - * / hourYes0-59, - * / day of monthYes1-31, - * / L W monthYes1-12, - * /day of weekYes0-7, - * / L

Calendar

View future cron matches in a calendar

April 2026

Showing next 1000 cron schedules

Loading...

Why `*/15` resolves to four runs an hour

The step operator / in cron means “every Nth value starting from the first valid value”. For the minute field (range 0-59), */15 generates 0, 15, 30, 45. The fifth iteration would be 60, which is out of range, so the cadence resets at the next hour's 0.

That gives you four firings per hour — 4 × 24 = 96 firings per day. Multiply by your platform's per-invocation cost and you have a quick budget estimate.

Every 15 minutes on different platforms

Linux crontab

*/15 * * * * /path/to/script.sh

Vercel cron jobs

{
  "crons": [
    { "path": "/api/cron/poll", "schedule": "*/15 * * * *" }
  ]
}

AWS EventBridge

cron(*/15 * * * ? *)
# or:
rate(15 minutes)

Kubernetes CronJob

spec:
  schedule: "*/15 * * * *"
  concurrencyPolicy: Forbid

Spring `@Scheduled`

@Scheduled(cron = "0 */15 * * * *", zone = "UTC")
public void pollEverything() { ... }

Spring's cron is 6-field (seconds first), so we add the 0 seconds.

Variations on every 15 minutes

  • */15 9-17 * * 1-5 — every 15 minutes during business hours on weekdays.
  • 5-59/15 * * * * — every 15 minutes offset by 5 (xx:05, xx:20, xx:35, xx:50).
  • */15 0-2,4-23 * * * — every 15 minutes except during 03:00 (see the “except at hour” FAQ).
  • */15 * * * 0,6 — every 15 minutes on weekends only.
  • */5 * * * * — every 5 minutes (3x as frequent).
  • 0 * * * * — every hour (4x less frequent).

When to choose every 15 minutes

Every 15 minutes hits a useful tradeoff: 4 firings per hour is enough to feel responsive without flooding your logs or your upstream API. Use it for:

  • Status checks against external services with rate limits.
  • Cache warming jobs on a steady cadence.
  • Queue drainers with a small backlog window.
  • Cross-region replication catch-up.
  • Heartbeat reporting that needs < 30 minute granularity.

When you need per-minute responsiveness, switch to every 5 minutes or every minute. When per-hour is fine, switch to every hour and save 24x the invocations.

Frequently asked questions

What is the cron expression for every 15 minutes?

`*/15 * * * *`. The minute field's step `*/15` expands to 0, 15, 30 and 45 — four times an hour, 96 times per day. The other fields are wildcards so it fires every hour, every day.

Is `0,15,30,45 * * * *` the same as `*/15 * * * *`?

Yes — both expand to the same set of minutes. The list form is more explicit; the step form is shorter. Use whichever your team prefers; most schedulers normalise them to the same internal representation.

Does `*/15 * * * *` run at the same time as 'every quarter hour'?

Yes. The four positions (0, 15, 30, 45) are exactly the quarter-hour marks. So `*/15 * * * *` is the canonical 'every quarter hour' cron expression.

How do I run every 15 minutes only during business hours on weekdays?

`*/15 9-17 * * 1-5`. The hour range `9-17` covers 09:00 through 17:59; the day-of-week range `1-5` is Monday through Friday. The job fires 36 times per weekday (4 times an hour × 9 hours).

Do all platforms support every-15-minutes cron?

Yes — `*/15 * * * *` is supported on every standard cron implementation. Vercel's free Hobby plan caps at once per day; Pro and Enterprise allow tighter schedules. AWS EventBridge accepts `cron(*/15 * * * ? *)`. Kubernetes CronJob, node-cron, Quartz and robfig/cron all handle it natively.

Ready to schedule it?

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.

Free forever tier ・ No credit card required

Your next schedule
GET/wp-cron.php?doing_wp_cron=1

Schedule

every 5 minutes

Next run

in 23s

Apihustle Logo

This tool is part of the Apihustle suite - a collection of tools to test, improve and get to know your API inside and out.

  • Clobbr logo

    Clobbr

    The app & CLI tool to test API endpoint speed.

    Visit
  • Crontap logo

    Crontap

    Schedule recurring API calls using cron syntax.

    Visit
  • CronTool logo

    CronTool

    Debug multiple cron expressions on a calendar.

    Visit

  • Page AI

    AI Website Generator that designs and writes clean code.

    Visit
  • Shipixen

    Generate customized boilerplates in minutes.

    Visit
  • Page UI

    Landing page UI components for React & Next.js

    Visit