Cron expression for every 25 minutes

ExamplesPlanner

No single cron expression runs exactly every 25 minutes: */25 * * * * fires at :00, :25 and :50, then restarts on the hour. See the real run times, and what to use instead.

Paste an expression or choose a starting schedule below.

Select a field to edit it.

Start with:
Add to planner

*/25 isn't really every 25 minutes

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

Schedule summary

At 0, 25, and 50 minutes past the hour, every hour, every day
Build a schedule

Starts at minute 0 and repeats within each hour.

Run on these days

Valid changes update the expression above immediately.

Upcoming runs

The next 50 runs, shown in the schedule timezone and your local time.

Calculating…

About */25 * * * *

*/25 * * * * is the closest single line, but it isn't every 25 minutes. The minute field restarts every hour, so this fires at :00, :25 and :50 and then at :00 again — a 10-minute gap. No crontab can fix that: 25 divides neither an hour nor a day, so the pattern never lines up. If the exact interval matters, use a step that divides 60 (20 or 30), or run the job from a loop or a systemd timer with OnUnitActiveSec=25min.

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

FieldPositionMatches
*/25minute0, 25, 50
*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). The crontab timezone setting requires a compatible daemon such as Cronie. GitHub Actions defaults to UTC and accepts a timezone on each schedule. For other timezones, Kubernetes, EventBridge Scheduler, or Vercel, use the export menu in the calculator above.

crontab

# At 0, 25, and 50 minutes past the hour, every hour, every day
# CRON_TZ requires a cron implementation that supports it, such as Cronie.
CRON_TZ=UTC
*/25 * * * * /path/to/command

GitHub Actions workflow

# At 0, 25, and 50 minutes past the hour, every hour, every day
on:
  schedule:
    - cron: '*/25 * * * *'
      timezone: "UTC"

Repeating intervals

Build a custom cron expression →