All Tools / Blog / Cron Expression for Every 15 Minutes (and Every Common Interval)

Cron Expression for Every 15 Minutes (and Every Common Interval)

4 min read

Cron expressions look cryptic until you understand the five-field structure. Once you do, writing any schedule becomes straightforward. Here's the pattern for every 15 minutes, plus a reference table for every common interval.

The cron expression for every 15 minutes

*/15 * * * *

That's it. This runs at minutes 0, 15, 30, and 45 of every hour, every day.

Understanding the five fields

A standard cron expression has five fields separated by spaces:

┌───────────── minute (0–59)
│ ┌─────────── hour (0–23)
│ │ ┌───────── day of month (1–31)
│ │ │ ┌─────── month (1–12)
│ │ │ │ ┌───── day of week (0–7, where 0 and 7 = Sunday)
│ │ │ │ │
* * * * *

The special characters:

  • * — any value (every minute, every hour, etc.)
  • */n — every n units (every 15 minutes, every 2 hours, etc.)
  • n,m — specific values (run at minute 0 and 30)
  • n-m — range (run Monday through Friday: 1-5)
  • n — exact value (run at 3:00 AM: 0 3 * * *)

Common schedules reference table

Schedule Expression Description
Every minute * * * * * Every single minute
Every 5 minutes */5 * * * * 0, 5, 10, 15 … 55
Every 10 minutes */10 * * * * 0, 10, 20, 30, 40, 50
Every 15 minutes */15 * * * * 0, 15, 30, 45
Every 30 minutes */30 * * * * 0, 30
Every hour 0 * * * * At minute 0 of every hour
Every 2 hours 0 */2 * * * 00:00, 02:00, 04:00 …
Every 6 hours 0 */6 * * * 00:00, 06:00, 12:00, 18:00
Every day at midnight 0 0 * * * 00:00 every day
Every day at 3 AM 0 3 * * * 03:00 every day
Every Monday at 9 AM 0 9 * * 1 Weekly on Monday
Weekdays at 9 AM 0 9 * * 1-5 Mon–Fri at 09:00
First day of month 0 0 1 * * Midnight on the 1st
Every Sunday at midnight 0 0 * * 0 Weekly on Sunday

Practical examples

Run a backup every night at 2 AM:

0 2 * * *

Send a weekly digest every Monday at 8 AM:

0 8 * * 1

Poll an API every 5 minutes during business hours (9 AM–5 PM, weekdays):

*/5 9-17 * * 1-5

Run a report on the first of every month at 6 AM:

0 6 1 * *

Run on the 1st and 15th of every month:

0 0 1,15 * *

The 6-field variant (with seconds)

Some systems (AWS EventBridge, Spring, Quartz) use a 6-field format that adds seconds at the beginning:

┌─────────── second (0–59)
│ ┌───────── minute (0–59)
│ │ ┌─────── hour (0–23)
│ │ │ ┌───── day of month
│ │ │ │ ┌─── month
│ │ │ │ │ ┌─ day of week
│ │ │ │ │ │
* * * * * *

"Every 15 minutes" in 6-field format:

0 */15 * * * *

Check your platform's documentation to know which format it expects.

Timezone gotchas

Cron runs in the timezone of the server unless you configure otherwise. A job at 0 9 * * * runs at 9 AM in whatever timezone the cron daemon uses — which is often UTC on cloud servers.

If you need the job to run at 9 AM in a specific timezone, you have two options:

  1. Convert your local time to UTC and write the expression in UTC.
  2. Use a scheduler that supports timezone-aware crons (GitHub Actions cron:, AWS EventBridge, Kubernetes CronJob with .spec.timeZone).

New York (UTC-5 in winter): 9 AM local = 14:00 UTC

0 14 * * *

Testing cron expressions

Before deploying, always test the expression against a few real dates. Paste it into a cron expression parser to see the next 5–10 fire times and confirm they match your intent. Off-by-one errors in day-of-week fields are the most common source of surprises.

Key takeaways

  • Every 15 minutes: */15 * * * * — runs at :00, :15, :30, :45 of every hour.
  • The five fields are: minute, hour, day-of-month, month, day-of-week.
  • */n means "every n intervals"; * means "every."
  • Cloud systems often use UTC — convert your intended local time before writing the expression.
  • Some platforms use 6 fields (with seconds); check the docs before using.