Cron Expression Parser

Local processing · never uploaded

Parse a cron expression, see each field explained, and preview the next 5 run times.

Examples
  • Minute0
  • Hour9
  • Day of monthevery
  • Monthevery
  • Day of week1
DescriptionAt 09:00 on Monday

What is Cron Expression Parser?

Cron Expression Parser takes a standard five-field cron string and explains exactly what it means: it breaks down every field, describes the schedule in plain English, and previews the next five times the job will fire.

Cron is the time-based job scheduler that runs on Unix-like systems, and its syntax has become the de-facto standard far beyond crontab — CI pipelines, Kubernetes CronJobs, serverless schedulers and countless background workers all reuse it. A cron expression is built from five whitespace-separated fields, read left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–6, where 0 is Sunday and 7 is also accepted as Sunday). For example, "0 9 * * 1" means nine o’clock in the morning, every Monday.

Each field accepts a small but powerful syntax. An asterisk "*" means every value. A comma builds a list, so "1,15,30" picks three specific values. A hyphen builds a range, so "1-5" is Monday through Friday. A slash adds a step: "*/15" in the minute field means every fifteenth minute (0, 15, 30, 45), and you can combine a range with a step like "0-30/10". This tool validates every field against its allowed range and rejects anything out of bounds or unparseable, so you catch typos before they ever reach production.

Beyond explaining the fields, the parser computes the next five run times so you can confirm a schedule does what you expect. These previewed times are calculated in UTC using your browser, starting from the current moment — nothing is sent to a server, and the expression you paste never leaves your device. Note that real cron daemons run in the server’s local timezone, so if your machine is not on UTC the actual fire times may be offset; treat the preview as a UTC reference. One important detail follows standard cron behaviour: when both the day-of-month and day-of-week fields are restricted, a run fires when either one matches (an OR), which is a common source of confusion worth keeping in mind.

FAQ

What is the order of the five cron fields?

From left to right: minute, hour, day of month, month, and day of week. So "0 9 * * 1" reads as minute 0, hour 9, any day of month, any month, on day-of-week 1 (Monday).

What does */5 mean?

A slash adds a step. In the minute field, */5 means every fifth minute starting from 0 — that is 0, 5, 10, 15 and so on up to 55. You can also step over a range, for example 0-30/10 gives 0, 10, 20, 30.

How do day-of-month and day-of-week interact?

Standard cron uses an OR when BOTH fields are restricted: the job fires if either the day-of-month OR the day-of-week matches. If only one of them is restricted (the other is *), only that one applies.

What timezone are the run times shown in?

The previewed next-run times are computed in UTC. Real cron daemons usually run in the host machine’s local timezone, so if your server is not on UTC the actual times may differ by your UTC offset.

Is my cron expression sent anywhere?

No. Parsing, validation and the next-run preview all happen locally in your browser. The expression never leaves your device.