Cron expression visualizer
Explain a cron expression in plain English and preview its next run times. Runs in your browser.
Runs 100% in your browserField breakdown
Next 5 runs (local time)
How to read a cron expression
- Enter a cron expression. Type a 5-field cron string, or pick a preset.
- Read the explanation. See it in plain English plus a field breakdown.
- Check upcoming runs. The next 5 run times are listed in local time and UTC.
Reading a cron expression
Cron is the time-based scheduler behind countless servers, CI pipelines and background jobs. Its five fields
are, in order, minute, hour, day-of-month, month and day-of-week. So
*/15 9-17 * * 1-5 reads as “every 15 minutes, between 9 AM and 5 PM, Monday to
Friday.” The syntax is terse and easy to misread, which is exactly how a job ends up firing at the wrong
time — this visualizer translates the expression to plain English, breaks down every field, and lists the
actual next five run times so you can confirm a schedule before you deploy it.
Stars, ranges, lists and steps
Each field accepts four building blocks: * means “every value,” a range like
1-5 means an inclusive span, a list like 1,15,30 means specific values, and a step
like */5 means “every 5th” (you can combine them, e.g. 0-30/10). The
visualizer validates each field against its legal range — minutes 0–59, hours 0–23, days 1–31, months 1–12,
weekdays 0–6 — and tells you precisely which term is out of bounds rather than failing silently.
The day-of-month / day-of-week trap
The single most surprising cron rule: when both the day-of-month and day-of-week fields are
restricted (neither is *), a job runs when either matches, not both. So
0 0 1 * 1 fires on the 1st of the month and every Monday — not only on Mondays that
fall on the 1st. It's a classic source of jobs running far more often than intended; the next-runs preview
makes the real behaviour obvious at a glance.
A note on time zones
The preview here uses your browser's local time (with UTC shown alongside), but cron on a server runs in whatever zone that machine is configured for. Daylight-saving transitions can make a wall-clock schedule skip or repeat a run, so for anything sensitive prefer servers set to UTC. To turn a specific run time into a Unix timestamp, use the epoch converter.
Frequently asked questions
- Standard 5-field cron: minute, hour, day-of-month, month, day-of-week. It supports
*, ranges (1-5), lists (1,15,30) and steps (*/5,0-30/10). - Your browser's local timezone (also shown in UTC). Note cron itself is timezone-agnostic — the schedule runs in whatever zone the server is configured for; DST transitions can shift wall-clock times.
- Per cron convention: if both are restricted (neither is
*), a run fires when either matches. - No — parsing and the schedule preview run entirely in your browser.