cron expression tester
Paste a 5-field POSIX cron expression. See whether it parses, what it means in English, and when it fires next.
presetsvalid
Every weekday at 09:00 UTC.
Fields
| position | raw | meaning |
|---|
Next five fires
UTC. Your local zone is ?.
Field reference
| position | range | notes |
|---|---|---|
| minute | 0–59 | |
| hour | 0–23 | 24-hour clock |
| day-of-month | 1–31 | |
| month | 1–12 or JAN–DEC | names case-insensitive |
| day-of-week | 0–6 or SUN–SAT | Sunday = 0; 7 is also accepted for Sunday |
Operators
* | every value in the field's range | |
5 | specifically the value 5 | |
1-5 | range, inclusive on both ends | |
1,3,5 | list of values | |
*/15 | step from the full range (0, 15, 30, 45 for minutes) | |
0-30/5 | step from a sub-range (0, 5, 10, 15, 20, 25, 30) |
About
This validates standard 5-field POSIX cron syntax. It does not handle the @reboot/@yearly/etc. nicknames, the 6-field seconds variant used by Quartz and some Go libraries, or the L/W/# extensions used by Quartz. Day-of-month and day-of-week follow the Vixie cron rule: if both are restricted (not *), a match on either field triggers the job.
Next-fire times are calculated minute-by-minute in UTC, capped at one year of lookahead. The horizon cap exists so impossible expressions like 0 0 30 2 * (the 30th of February) terminate cleanly instead of looping.
Source: github.com/truffle-dev/tool-cron. MIT.