Cron Expression Parser

Translate any standard 5-field cron expression into plain English and preview exactly when it will fire next — computed live in your browser.

Parsed locally · nothing uploaded
Cron expression

Description
Next 5 run times
Field reference
Minute 0–59 · */15 → every 15 minutes
Hour 0–23 · 9 → at 09:00
Day of month 1–31 · 1 → on the 1st
Month 1–12 · 1-6 → Jan through Jun
Day of week 0–6 (Sun=0) · 1-5 → Mon–Fri

Order: minute hour day-of-month month day-of-week. Operators per field: * any · a-b range · a,b list · */n step · a-b/n stepped range.

How it works

A cron expression is five space-separated fields — minute hour day-of-month month day-of-week — that together define a recurring schedule. This parser expands every field into the concrete set of values it allows, so */15 in the minute field becomes 0, 15, 30, 45 and 1-5 in the day-of-week field becomes Monday through Friday.

To find the next runs, it walks forward from the current minute one minute at a time and asks a simple question for each candidate: do the minute, hour, month and day fields all match? Day matching follows the classic Vixie-cron rule — when both day-of-month and day-of-week are constrained, a match on either is enough. The first five minutes that satisfy every field become the previews, each annotated with a relative "in X" hint. Everything runs on your device using the native Date API; no expression ever leaves the browser.

Frequently asked questions

Which cron syntax does this support?
Standard 5-field crontab syntax: minute hour day-of-month month day-of-week. Each field accepts a wildcard (*), single values, ranges (1-5), lists (1,3,5), steps (*/15) and stepped ranges (0-30/10). Named seconds, years and macros like @daily are not parsed.
How are the next run times calculated?
The parser iterates minute by minute from the current time, testing each candidate minute against all five fields, and collects the first five that match. This mirrors how most cron daemons decide when to fire, so the previews line up with real schedules.
Which time zone is used?
All times use your browser's local time zone, exactly like a crontab running on a machine set to that zone. If your server runs in UTC, keep the offset in mind when reading the previews.
Does day-of-month and day-of-week use AND or OR?
This tool follows the common Vixie-cron rule: when both day-of-month and day-of-week are restricted (neither is *), a minute matches if either field matches. When one is *, only the other constrains the day.