# Cron Next Occurrence Calculator

> Enter a five-field cron expression and a start time to list its next run times, with ranges, steps, names, @daily-style macros and the day-of-month/day-of-week rule.

Category: IT, networking & security · Applies to: Worldwide · Last updated: 2026-10-29
Interactive calculator: https://calculators.geekmidst.com/calculators/cron-next-occurrence-calculator

A cron expression has five fields: minute, hour, day of month, month and day of week. This lists the next run times after the moment you give, using the same rules as the standard Linux cron daemon.

Also called: Crontab next run calculator, Cron schedule tester.

## Inputs
- Cron expression (default 0 9 * * 1-5)
- Start date (default 2026-10-29)
- Start time (default 10:00)
- Runs to list (default 5)

## Results
- Next run
- Minutes from start
- Runs listed
- Last run listed

## Formula

```
A minute matches when minute, hour and month are in their sets and the day matches. Day rule (crontab(5)): if day-of-month or day-of-week starts with “*”, both must match; if both are restricted, either may match. Runs are listed strictly after the start minute.
```

Where:
- Fields: minute 0–59, hour 0–23, day of month 1–31, month 1–12 or JAN–DEC, day of week 0–7 or SUN–SAT (0 and 7 are Sunday)
- a-b/n: every n-th value from a to b; * means first–last

## Worked example
1. 0 9 * * 1-5 means minute 0 of hour 9, Monday to Friday.
2. Thursday 29 October 2026 at 10:00 is after 09:00, so today’s run has passed.
3. The next run is Friday 30 October at 09:00, 23 hours = 1,380 minutes later.

**Result:** Starting Thursday 29 October 2026 at 10:00, “0 9 * * 1-5” next runs on Friday 30 October at 09:00.

## What the result means

Check the listed times against your intent before deploying, especially when both day fields are set: “0 0 1 * 1” runs on the 1st and on every Monday, not only on Mondays that are the 1st.

## Assumptions and limits
- Times are in the cron daemon’s own clock (its time zone); daylight-saving gaps and repeats are not modelled.
- Syntax follows Vixie cron / cronie as documented in crontab(5).
- Quartz and cloud schedulers with a seconds or year field, or L, W and # modifiers, use different syntax and are not supported.

## Questions

### Why did my job run on a day I did not expect?

When both day-of-month and day-of-week are restricted, cron runs when either matches. Make one of them * to require only the other.

### Does */2 in the day-of-month field count as restricted?

In cronie it does not: the implementation checks only whether the field starts with *, so */2 is treated like * for the either-or rule. This calculator follows that behaviour.

## Sources
- [crontab(5) manual page (cron, Debian)](https://manpages.debian.org/unstable/cron/crontab.5.en.html)

## Related calculators
- [Unix Epoch Converter](https://calculators.geekmidst.com/calculators/unix-epoch-converter)
- [Time Duration Calculator](https://calculators.geekmidst.com/calculators/time-duration-calculator)
- [Day of the Week Calculator](https://calculators.geekmidst.com/calculators/day-of-the-week-calculator)

Source: GM¹X CalcVerse — https://calculators.geekmidst.com/calculators/cron-next-occurrence-calculator
