⏰ Cron Expression Parser

Minute0
Hour9
Day of monthevery
Monthevery
Day of week1,2,3,4,5
Upcoming runs
#1Wed, Sep 23, 2026, 09:00 AM
#2Thu, Sep 24, 2026, 09:00 AM
#3Fri, Sep 25, 2026, 09:00 AM
#4Mon, Sep 28, 2026, 09:00 AM
#5Tue, Sep 29, 2026, 09:00 AM

Break down a cron expression field-by-field (minute, hour, day, month, weekday) and see the upcoming run times. Handy for double-checking a server cron job before deploying it, or verifying it actually runs at the frequency you intended.

How to use

  1. Enter a cron expression (e.g. 0 9 * * 1-5) in the "Cron expression" field.
  2. See the breakdown of each field — minute, hour, day, month, and weekday.
  3. Check the "Upcoming runs" list to see when the job will fire next.

How the calculation works

A cron expression specifies when a scheduled job runs on Unix-like systems: five space-separated fields for minute, hour, day of month, month and day of week. Each field can be "*" (every value), a value (5), a range (1-5), a list (1,15) or a step (*/15, every fifteenth). Day of week runs from 0 (Sunday) to 6 (Saturday), and 7 is also treated as Sunday. The next run times are found by stepping forward minute by minute from the minute after now until every field matches. Times are calculated in your browser's time zone. The subtle case is when both day of month and day of week are set. Like standard (Vixie) cron, this tool treats them as OR — a match on either triggers a run. "0 9 13 * 5" does not mean "9 a.m. on Friday the 13th"; it means "9 a.m. on the 13th of every month, and 9 a.m. every Friday".

Worked example

"0 9 * * 1-5" Minute: 0 Hour: 9 Day: every day Month: every month Weekday: 1–5 (Monday to Friday) It runs at 9:00 every weekday morning. "*/15 * * * *" runs at 0, 15, 30 and 45 minutes past every hour.

Things to be aware of

  • When both day of month and day of week are set, a match on either one triggers a run.
  • Next run times use your browser's time zone. If the server uses a different one (such as UTC), the actual run times will shift.
  • Six-field formats with seconds, and special strings such as "@daily", are not supported.
  • A day that does not exist in some months, such as the 31st, simply never matches in those months.

FAQ

What happens if my cron expression has a typo?

It's shown as a parse error, making it easy to spot which part is malformed.

How many upcoming run times are shown?

You can see a list of several upcoming scheduled run times at once.

Does it explain expressions like "every hour" or "every Monday"?

Yes — it clearly shows how each field is interpreted, whether as "every," a specific value, or a range.

Is this useful before deploying to production?

Yes — checking the upcoming run times ahead of time helps you catch a misconfigured schedule before it goes live.

Does it explain the day-of-week numbers (0-6)?

Yes — the breakdown shows which day of the week each number in that field corresponds to.