OneWebDesk

Cron Next Run Calculator

Show the next run times for a cron expression.

A cron expression is easy to write but hard to read at a glance — “so when does it actually run next?” This cron next-run calculator takes a standard five-field expression (minute hour day month weekday), steps forward minute by minute from the current time, and lists the next matching run times. Each result is shown in both your browser's local time and UTC so you can line it up with the server's timezone.

Everything is computed in your browser and nothing is ever sent anywhere. Use it to sanity-check a backup schedule, batch job, or log rotation before you ship the crontab, or to quickly decode an expression a teammate wrote.

Common examples
Next 5 runs
2026-07-21 13:00 (Tue)2026-07-21 13:00 (Tue) UTC
2026-07-21 14:00 (Tue)2026-07-21 14:00 (Tue) UTC
2026-07-21 15:00 (Tue)2026-07-21 15:00 (Tue) UTC
2026-07-21 16:00 (Tue)2026-07-21 16:00 (Tue) UTC
2026-07-21 17:00 (Tue)2026-07-21 17:00 (Tue) UTC

The five cron fields

A standard cron line is five space-separated fields, in order: minute, hour, day of month, month, and day of week.

  • Minute: 0–59
  • Hour: 0–23
  • Day of month: 1–31
  • Month: 1–12
  • Day of week: 0–7 (both 0 and 7 mean Sunday, 1 is Monday)

Syntax supported in each field

This tool supports the four most common forms.

  • * — every value of the field (every minute, every hour, etc.)
  • */n — every n units (*/15 means 0, 15, 30, 45)
  • a-b — a range from a to b (9-17 means hours 9 through 17)
  • a-b/n — a stepped range (0-30/10 means 0, 10, 20, 30)
  • Comma lists — combine the forms above with commas, e.g. 1,15,30

When day-of-month and weekday are both set

Following classic cron rules, if both day-of-month and weekday are restricted (neither is *), a match occurs when either one matches (an OR). For example, 0 0 13 * 5 runs at midnight on the 13th of every month or on every Friday. Restricting both expecting an intersection will not behave the way you might think, so be careful. To line up the timestamps a job actually wrote against another time zone, the log timestamp converter comes in handy.

Common cron expressions and what they mean

Here are the expressions you'll run into most often. Read them in minute hour day month weekdayorder. Copy one as-is, or compare it against your own expression to confirm its meaning.

ExpressionMeaningTypical use
*/5 * * * *Every 5 minutes (at :00, :05, :10 … :55)Health checks, queue polling
0 3 * * *Daily at 03:00Nightly backups, log rotation
0 9 * * 1-5Weekdays (Mon–Fri) at 09:00Business-day report delivery
0 0 1 * *Midnight on the 1st of every monthMonthly billing, invoicing
0 */6 * * *Every 6 hours (00, 06, 12, 18 on the hour)Cache refresh, sync jobs

Worked example: 30 2 * * 0

Let's decode 30 2 * * 0 field by field.

  • minute = 30 → at 30 minutes past
  • hour = 2 → the 02:00 hour
  • day of month = * → no date restriction
  • month = * → every month
  • weekday = 0 → Sunday

Put together, it runs once a week, every Sunday at 02:30. Because day and month are both*, only the weekday condition remains, so it narrows cleanly to a single day. Keep in mind that this 02:30 is in the timezone of the server running cron. If the server is on UTC, that same instant is Sunday 11:30 in Korea (KST, UTC+9) — so to avoid surprises like “I expected it to run early Sunday but it fired at midday,” always confirm the server timezone first.

Frequently asked questions

What is the difference between weekday 0 and 7?
Both mean Sunday. Some cron implementations accept only 0, others only 7, but this tool treats both as Sunday. 1 is Monday and 6 is Saturday.
Which timezone are the results in?
The left column uses your browser's local timezone, and the right column shows UTC. A real server runs cron in its own timezone, so if your server is on UTC, read the UTC column.
Does it support a seconds field or macros like @daily?
No. This tool supports only the standard five fields (minute hour day month weekday). Six-field (with seconds) cron, macros such as @yearly or @reboot, and extensions like L/W/# are not supported.
Can it fail to find a next run?
Contradictory combinations — for example running only on the 31st in a month that has no 31st — can occur. To avoid an infinite loop the search looks ahead about four years from now; if nothing matches within that window, no further runs are shown.
Is my cron expression sent to a server?
No. Parsing and next-run calculation happen entirely in your browser, and nothing is transmitted anywhere.

Related guides

Related tools