Cron expression for every 45 minutes

No single cron expression runs exactly every 45 minutes: */45 * * * * fires at :00 and :45, then restarts on the hour. See the real run times, and the few crontab lines that make the spacing exact.

*/45minute
*hour
*day
*month
*weekday

*/45 isn't really every 45 minutes

The minute field restarts every hour, so after :45 the next run is :00 — a 15-minute gap, not 45. Even alternatives: */2, */3, */4, */5, */6, */10, */12, */15, */20, */30.

In Plain English

What your cron expression actually means.

At 0 and 45 minutes past the hour, every hour, every day

Upcoming Executions

Preview the next 50 times this schedule will trigger.

Calculating…

About */45 * * * *

*/45 * * * * is the closest single line, but it isn't every 45 minutes. The minute field restarts every hour, so this fires at :00 and :45 and then at :00 again — a 15-minute gap. Because 45 divides a whole day (1440 minutes), 4 lines together give an exact 45-minute rhythm, including across midnight — see the exact crontab below.

Cron reads the five fields as minute hour day month weekday. For this schedule that breaks down as:

FieldPositionMatches
*/45minute0, 45
*hourevery hour
*day of monthevery day
*monthevery month
*day of weekevery day of the week

New to cron? Read the syntax reference or the FAQ.

Use it in crontab or GitHub Actions

The single line below is the closest cron gets, not the exact schedule (see above). A crontab runs in the server's local timezone; GitHub Actions always evaluates schedules in UTC. For Kubernetes, AWS EventBridge, or Vercel, use the export menu in the calculator above.

crontab

# At 0 and 45 minutes past the hour, every hour, every day
*/45 * * * * /path/to/command

GitHub Actions workflow

# At 0 and 45 minutes past the hour, every hour, every day
# Note: GitHub Actions always runs schedules in UTC.
on:
  schedule:
    - cron: '*/45 * * * *'

Exact version for crontab

0 */3 * * * /path/to/command
45 */3 * * * /path/to/command
30 1-23/3 * * * /path/to/command
15 2-23/3 * * * /path/to/command

GitHub Actions takes the same lines as separate - cron: entries under schedule.

Repeating intervals

Build a custom cron expression →