Skip to content
1001 Tools
sr
Developer tools

Cron Expression Explainer

Paste a cron expression like 30 9 * * 1-5 and see what it actually schedules, in plain words, with each of the five fields explained on its own. It handles ranges, lists, steps, month and weekday names, and shortcuts like @daily. Everything is worked out in your browser.

Enter a cron expression to see its schedule.

Classic 5-field Unix cron (minute hour day-of-month month day-of-week). Quartz seconds/year and ? L W # are not supported.

How it works

A standard cron line has five space-separated fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–7, where both 0 and 7 mean Sunday). The tool validates each field against its range, then turns the whole line into a sentence and lists what every field means, so you can catch a mistake before it reaches your crontab.

Within a field you can use * for “every”, a list like 1,15,30, a range like 9-17, and a step like */15 or 9-17/2. Three-letter names work too — jan or mon — and the common macros (@yearly, @monthly, @weekly, @daily, @hourly) expand to their five-field equivalents. Note this is classic Unix cron: there’s no seconds or year field, and Quartz-only tokens like ?, L, W and # aren’t supported.

Practical examples

Weekday mornings

0 9 * * 1-5 reads as “At 09:00, on Monday–Friday.” A common choice for a job that should run each business day.

Every 15 minutes

*/15 * * * * is “Every 15 minutes.” The step in the minute field is the usual way to poll something frequently.

First of the month

0 0 1 * * means “At 00:00, on day-of-month 1” — midnight on the 1st, useful for monthly reports or billing.

Frequently asked questions

What do the five fields mean?

In order: minute, hour, day of month, month, and day of week. The tool shows each field’s raw value next to its meaning, so you can see exactly how your expression maps to a schedule.

How do steps like */15 work?

A step repeats a value at fixed intervals. */15 in the minute field means minutes 0, 15, 30 and 45. You can combine it with a range, so 9-17/2 in the hour field means every second hour from 9 to 17.

What’s the deal with Sunday being 0 and 7?

In the day-of-week field, both 0 and 7 represent Sunday, a historical quirk of cron. Monday is 1 through to Saturday at 6. The tool treats 7 the same as 0.

Can I use names instead of numbers?

Yes, for months and weekdays. jan–dec and sun–sat (case-insensitive) are accepted and shown with their full names in the explanation. Minutes, hours and days of month must be numeric.

What happens if both day-of-month and day-of-week are set?

In standard cron, if neither is *, the job runs when either matches — not only when both do. This tool describes each field; keep that OR behaviour in mind when both are restricted.

Does it support @reboot or Quartz syntax?

It expands the time-based macros (@daily, @hourly and so on) but not @reboot, which has no fixed schedule. Quartz extensions — a seconds field, a year field, and tokens like ?, L, W and # — aren’t part of classic cron and aren’t parsed.

Which timezone does a cron run in?

Cron uses the system or service timezone where it’s scheduled, not a fixed one. This explainer describes the pattern itself; the actual clock depends on your server or platform settings.

Is my expression sent anywhere?

No. Parsing and explaining happen entirely in your browser, so nothing you type is uploaded.

Related tools