Cron Expression Parser
A cron expression like 0 9 * * 1-5 describes a recurring schedule — "every weekday at 09:00". This parser handles 5-field and 6-field syntax, expands @aliases (@daily, @hourly, @weekly), validates ranges, and lists the next 10 fire times in your local zone.
Quick Conversion
Formula: hours = minutes ÷ 60
Common cron patterns
Cron field reference
| Field | Range | Special | Example |
|---|---|---|---|
| Minute | 0-59 | * / , - | */15 → every 15 |
| Hour | 0-23 | * / , - | 9-17 → business hours |
| Day of Month | 1-31 | * / , - | 1,15 → 1st & 15th |
| Month | 1-12 or JAN-DEC | * / , - | JUN-AUG → summer |
| Day of Week | 0-6 (Sun-Sat) or 7=Sun | * / , - | MON-FRI → weekdays |
| Seconds (Quartz) | 0-59 (optional first field) | * / , - | */10 → every 10s |
Generate a cron from a calendar grid? Cron generator.
Vixie cron grammar
cron-line = minute SP hour SP dom SP month SP dow
field = "*" | range ("," range)*
range = number | number "-" number | "*" "/" step
step = numberWorked: "0 9 * * 1-5" → minute=0, hour=9, dom=*, month=*, dow=1-5. Fires Mon-Fri at 09:00 — 5 times per week, 260 times per year.
How to read a cron expression
- 1Paste any cron expression: 5-field Vixie, 6-field Quartz, or an @alias like @hourly.
- 2Read the plain-English description below the input — it spells out the schedule in normal language.
- 3Scan the clock SVG: highlighted minutes show when within an hour the job fires.
- 4Cross-check with the next-10-fires list — the exact wall-clock times in your local browser zone.
- 5Save the snapshot so you can drop the annotated expression straight into a runbook or PR description.
From Bell Labs cron(8) to Kubernetes CronJob — a brief history
In 2026 an SRE auditing a Kubernetes cluster needs to confirm that 0 0 * * 0 in a CronJob spec really does fire at midnight every Sunday — and not 23:59 Saturday in some weird DST corner case. This parser is the sanity check.
cron originated at Bell Labs in 1975 as a daemon to run jobs at specified times. The original 7th Edition UNIX cron read a single crontab file. Per-user crontabs arrived with BSD 4.0 in 1980. The breakthrough was Paul Vixie's "V-3" cron (1987), released to comp.sources.unix — it introduced ranges 1-5, steps */15, month names, and the @aliases that every modern dialect inherits.
POSIX standardised the minimal 5-field cron in IEEE 1003.2 (1992). Vixie's extensions remained de-facto standards — adopted by GNU mcron, fcron, dcron and ISC cron. Linux distros today bundle either Vixie's or its derivatives.
In Java-land, Quartz Scheduler (Terracotta, 2001) introduced the 6-field format with seconds, plus L (last), W (weekday), and # (nth weekday). Spring inherited Quartz. AWS EventBridge cron uses a 7th "year" field. The OR semantics between dom and dow are Quartz's biggest gotcha.
Modern alternatives are emerging. systemd timers (2014) use OnCalendar= with ISO 8601-flavoured syntax — monotonic and DST-aware. Kubernetes CronJob (k8s 1.4, 2016) bundles a Vixie-style parser. Temporal, Airflow, Prefect, and Dagster all accept cron expressions for backwards compatibility but typically pair them with richer schedulers.
Cron's biggest pitfall has always been daylight saving. On 2024-03-10 02:00 EST, the clock jumped to 03:00 EDT, so a job scheduled for 30 2 * * * in America/New_York simply didn't fire. Best practice: run cron on UTC (set TZ=UTC) and translate to local at display time only.
The summary: cron is forty years old, deceptively simple, and still everywhere. The hard part is reading it correctly — which is why we built this parser to spell out every expression in plain English.
Trusted by SREs, backend engineers and schedulers
“Pasting a complex 6-field expression and seeing the next 10 fires made our on-call runbook self-explanatory.”
“Catches the OR vs AND between dom and dow that bit us during a Quartz to Vixie migration.”
“Plain-English description side-by-side with the spec saves me on every Jenkins job review.”
“My PG maintenance jobs are now annotated with this tool's output in the source. Massive readability win.”
Love using our calculator?
Related developer tools
Related Articles
Dive deeper with our expert guides and tutorials related to Cron Expression Parser