Cron Expression Explainer Guide: How to Read the Output

The Cron Expression Explainer takes a cron string and returns two things: a plain-English sentence describing the schedule, and the next 10 real moments it will fire. This guide walks through a realistic expression so you know exactly how to read both parts — and why the timezone you pick changes the answer.

A Worked Example

Paste this expression — a common "check every 15 minutes during business hours" pattern:

*/15 9-17 * * 1-5

The tool returns the description "Every 15 minutes, between 09:00 AM and 05:59 PM, Monday through Friday." Each field maps to one clause: */15 in the minute field becomes "every 15 minutes," 9-17 in the hour field becomes the business-hours window, and 1-5 in the day-of-week field becomes "Monday through Friday" (cron numbers weekdays 0-6 starting from Sunday, so 1 is Monday and 5 is Friday — a common source of off-by-one mistakes when writing cron by hand).

Reading the Next-Run List

Below the description, the tool lists the next 10 actual times the expression will fire, computed from right now in whichever timezone you selected. For */15 9-17 * * 1-5 starting on a Friday afternoon, that list might show three or four more runs before 6 PM, then jump straight to Monday morning at 9:00 — the weekend and evening hours are correctly skipped. This is the fastest way to catch a mistake before deploying: if the list shows runs at times or days you didn't expect, re-check the field you think is wrong.

Why the Timezone Dropdown Matters

A cron expression has no timezone of its own — 0 9 * * * means "9 AM in whatever timezone the machine executing it is configured with." Switch the dropdown from UTC to Asia/Kolkata and the same expression's next-run list shifts by 5 hours 30 minutes, because you're now asking "what does 9 AM mean if the server thinks it's in India." This mirrors the real-world confusion behind most "why did my cron job fire at the wrong time" bugs — the fix is almost always confirming what timezone the actual server or container is set to, not the expression itself. See the cron timezone handling guide for how to check and set this correctly in Linux crontab, Docker, and cloud schedulers.

Frequently Asked Questions

What does the "next run times" list actually show?

The next 10 real calendar moments the expression will fire, computed from now in the selected timezone — useful for sanity-checking a schedule before deploying it.

Why does changing the timezone dropdown change the next run times?

Cron expressions don't carry a timezone. The dropdown lets you answer "what would this mean if the server were set to this zone" — the same setting your real scheduler needs configured correctly.

Does this support both 5-field and 6-field cron syntax?

Yes — standard 5-field cron and 6-field cron with a leading seconds field (Quartz, Spring, node-cron) are both parsed correctly.

Try the Free Cron Expression Explainer

Paste your own cron expression and see a plain-English description plus its next 10 run times. No signup, no cost.

Related articles