Cron Expression Tester
Paste any cron expression. See the next 10 execution times in your timezone, a plain-English summary, and a per-field breakdown. Supports five-field (Unix) and six-field (AWS / Quartz) variants.
* any · N exact · N-M range · N,M,O list · */N stepFrequently asked questions
What is a cron expression?
A cron expression is a five-field string that describes a recurring schedule: minute, hour, day of month, month, and day of week. The asterisk means "every", a number is an exact match, comma-separated lists mean "any of these", a hyphen is a range, and a slash is a step. For example "*/15 7-19 * * 1-5" means every 15 minutes between 7am and 7pm, Monday through Friday.
How do I validate a cron expression?
Paste your expression into the input above. If it is valid you will see the plain-English summary, a per-field breakdown, and the next 10 execution times in the timezone you select. If the expression is malformed, the tool tells you which field failed and what the allowed range is. For example, "Constraint error, got value 99 expected range 0-59".
What is the difference between five-field and six-field cron?
Five-field cron is the classic Unix variant: minute, hour, day-of-month, month, day-of-week. Six-field cron adds a seconds field at the start; it is used by some schedulers (notably AWS EventBridge and Quartz) when sub-minute precision is required. This tool accepts both; six-field expressions are detected automatically by token count.
How do I run a cron job every 15 minutes during business hours?
Use "*/15 7-19 * * 1-5". This evaluates to every 15 minutes, between 7am and 7pm UTC (or whichever timezone you select), Monday through Friday. The first field "*/15" is a step expression that triggers at 0, 15, 30, and 45 minutes past the hour; "7-19" restricts the hour to the inclusive range 7 through 19; "1-5" restricts the day of week to Monday through Friday.
Does this support AWS EventBridge or Quartz expressions?
Yes. AWS and Quartz add a six-field variant with seconds at the start, plus extensions like "?" for "any value" in day-of-month or day-of-week, and "L" for the last day of the month. These are accepted by the parser, though some edge-case combinations (mixed "?" usage) follow the original Quartz semantics, not the AWS overlay.
Why are my next-run times off by an hour during the spring or fall?
Daylight saving transitions can produce surprising results in cron schedules. A run scheduled for 02:30 in the United States during the spring-forward transition will be skipped that morning because 02:00–03:00 does not exist; in the fall-back transition it will run twice if your scheduler does not deduplicate. Always pick a timezone explicitly using the dropdown above and verify the next runs match what you expect across DST boundaries.