Cron Expression Explainer

Paste a standard Unix cron expression (minute hour day-of-month month day-of-week) and see exactly when it runs, in plain English.

How Cron Expression Explainer Works

A cron expression is a five-field pattern (minute hour day-of-month month day-of-week) that schedulers like Unix cron, CI pipelines, and job queues use to define when a task runs. This tool parses each field entirely in your browser and turns it into a plain-English sentence describing the schedule, so you don't have to mentally decode */15 or 1-5 yourself.

Formula & Method

Each of the 5 fields is parsed independently: a bare * means "every" value in that field's range (minute 0–59, hour 0–23, day-of-month 1–31, month 1–12, day-of-week 0–6 where both 0 and 7 mean Sunday); a dash (1-5) is an inclusive range; a slash (*/15 or 1-5/2) is a step within a range; and a comma (1,3,5) is a list. Month and weekday names (JAN–DEC, SUN–SAT) are accepted in place of numbers. The tool then assembles a sentence from the parsed minute/hour time phrase plus any day-of-month, day-of-week, and month restrictions.

Worked Example

The default expression 0 2 * * * means minute 0, hour 2, with every day-of-month, month, and day-of-week -- so this tool explains it as "At 2:00 AM, every day." A trickier case is 0 9 * * 1-5 (minute 0, hour 9, weekdays 1 through 5): this comes out as "At 9:00 AM, on Monday through Friday."

Frequently Asked Questions

What happens if both day-of-month and day-of-week are restricted at the same time?
Standard cron treats this as an OR, not an AND: the job runs when either the day-of-month condition matches or the day-of-week condition matches. This tool flags that explicitly with a note whenever both fields are restricted, since it's a well-known source of confusion, not a bug.
Does this tool support Quartz-style 6 or 7-field cron expressions?
No -- only the standard 5-field Unix cron format (minute hour day-of-month month day-of-week) is supported. Quartz-specific syntax like a seconds field, L (last day), W (nearest weekday), or # (nth weekday of month) will be rejected as invalid.
Does 7 also mean Sunday for the day-of-week field?
Yes -- this tool accepts both 0 and 7 as Sunday, matching the common cron convention, so expressions written for either convention will be explained correctly.
Can I use step values like */15 combined with a range?
Yes -- a step can follow a range, for example 1-5/2 means every 2nd value starting at 1 through 5 (i.e. 1, 3, 5). A step can also follow a bare *, e.g. */15 for every 15 units.

Standard 5-field format only. Supports *, ranges (1-5), steps (*/15 or 1-5/2), lists (1,3,5), and month/day names (JAN-DEC, SUN-SAT). Quartz-style 6/7-field expressions and special characters like L, W, # aren't supported.

Plain-English Schedule