Cron Expression Parser 🔒 Your data never leaves your browser.
Explain any cron expression in plain language + next run times.
minute · hour · day (month) · month · day (week)
Field breakdown
| Field | Expression | Resolved values |
|---|
Next runs
About this tool
Five little fields — minute, hour, day of month, month, day of week — and yet everyone forgets which is which. Paste any crontab expression and get a plain-language explanation in your own language, plus the next five actual run times computed in your local timezone.
The day-of-month/day-of-week OR rule, named days (mon-fri), steps (*/15) and ranges all behave exactly like standard cron. Common presets are one click away.
Frequently asked questions
Does this tool send my cron expression anywhere?
No. Parsing, the plain-English explanation, and the next-run calculations all happen in your browser — nothing is sent to a server.
What do the five fields in a cron expression mean?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6 or names like MON). The field breakdown table below the input shows exactly what each part of your expression resolves to.
What happens when both day-of-month and day-of-week are set to something other than *?
Standard cron treats them as OR, not AND — the job runs when either condition matches. For example "0 0 1 * mon" runs on the 1st of the month AND every Monday, not only on Mondays that fall on the 1st.
Why do the next-run times change when I switch the timezone dropdown?
The schedule's hour/minute fields are evaluated in whatever timezone you pick, so "0 9 * * *" means 9am in that zone, not 9am UTC translated locally. Switch to "Local" to see runs in your own timezone, or pick UTC/another zone to match your server's clock.
Can I use names like MON or JAN instead of numbers?
Yes — month and day-of-week fields accept 3-letter names (JAN–DEC, SUN–SAT, case-insensitive) as well as numbers, and you can mix them with ranges like MON-FRI.