Crontab Next Run Calculator

Enter a cron expression and base time to see the upcoming run times.

How it is calculated

The tool reads five fields in the order minute hour day-of-month month day-of-week. Each field accepts *, a number, a range a-b, a list a,b,c and a step such as */15, 1-5/2 or 5/10 (a step on a single number runs from that number to the field maximum, so 5/10 means minutes 5, 15, 25 and so on). Day-of-week runs 0 to 6, and 7 is also Sunday. Starting at the base time (read as UTC, or the current UTC time if you leave it empty), it moves forward one minute at a time from the next whole minute and lists each matching minute. When day-of-month and day-of-week are both restricted, a day matches if either one does, as in classic cron; if either field starts with * both must match. Up to 20 times are listed (3 by default), searching about four years ahead. Out-of-range values, names like MON, shortcuts like @daily and impossible dates such as 31 February show no result.

Worked example

Cron line 0 3 * * 1-5 means minute 0, hour 3, any day of the month, any month, Monday to Friday. The base time is 2026-10-20 12:00 UTC, a Tuesday, and 03:00 that day has already passed. The next match is Wednesday, so the tool returns 2026-10-21 03:00 UTC, followed by 2026-10-22 and 2026-10-23, then Monday 2026-10-26 (Saturday and Sunday are skipped), and 2026-10-27 as the fifth of the five requested runs.

Try this example →

Common mistakes

  • Expecting 0 0 13 * 5 to mean "Friday the 13th only". When both day fields are restricted, cron fires on the 13th or on any Friday. Starting from 14 November 2026 the list shows every Friday and also Sunday 13 December.
  • Forgetting that all times are UTC. A job meant for 03:00 in your own time zone will show a different hour here.
  • Reading 5/10 as "once an hour at minute 5". It means every 10 minutes from minute 5, giving 5, 15, 25, 35, 45 and 55 each hour.
  • Typing names such as MON or JAN, or @daily. Only numbers are accepted, so use 1 and 0 0 * * *.
  • Putting six fields (with seconds) into a five-field cron line, or a date that never exists such as 0 0 31 2 *. Both return no result.

About this calculator

A standard Unix crontab expression uses five space-separated fields — minute, hour, day-of-month, month, and day-of-week — each accepting numbers, ranges, lists, wildcards (*), and step values (like */15 for every 15 units) to define a recurring schedule, such as “0 3 * * 1-5” for 3 AM on weekdays. Working out exactly when such an expression will next fire requires parsing all five fields and simulating time forward, which is easy to get wrong by hand, especially with step values or day-of-week/day-of-month interactions.

Sysadmins, backend developers, and DevOps engineers use this calculation whenever they write or review a cron job — for scheduled backups, log rotation, batch data processing, or automated deployments — to confirm the schedule actually matches what they intended before it runs unattended on a production server.

This calculator parses your 5-field crontab expression against a base UTC time and lists the next several scheduled run times, letting you catch a mistyped cron line before it causes a job to run at 3 AM instead of 3 PM, or every minute instead of every hour.

Was this helpful?

You can pick up to 3 reactions.

Comments

  • Be the first to comment.

Popular calculators

All Calculators