Cron Expression Validator
Validate and explain cron schedule expressions

🔒 Zero upload · Method · · Disclaimer · Cron Expression Validator
Cron Expression Validator helps you validate and explain cron schedule expressions without a spreadsheet. You supply Cron Expression to Cron Expression Validator; the answer follows at once. Cron Expression Validator prints the result and its working. Cron Expression Validator shines when speed matters. You can disconnect once Cron Expression Validator has loaded; the arithmetic runs locally. Cron Expression Validator is part of the Tech & Digital collection on CalcProMaster, alongside cron expression validator calculator, free online cron expression validator calculator and more. Cron Expression Validator is great for comparing scenarios. Change one value and watch. Open Cron Expression Validator and enter your numbers.
What the default expression means
0 9 * * 1-5 is valid and runs at 09:00 on Monday to Friday.
Five fields, every one inside its allowed range: minute 0, hour 9, any day of month, any month, weekdays 1 through 5.
Reading the five fields
minute (0-59) · hour (0-23) · day of month (1-31) · month (1-12) · day of week (0-6)
Day of week uses 0 for Sunday through 6 for Saturday, and both 0 and 7 mean Sunday in most implementations — this validator accepts the 0-6 range. A sixth field at the front is read as seconds (0-59), which is how Quartz-style and some systemd-adjacent schedules are written.
What the check does
It splits the expression on whitespace and rejects anything that is not five or six fields. It then range-checks each field, allowing *, a plain number, a range such as 1-5, a list such as 1,15,30, and a step such as */15 or 0-30/5. If every field passes, the expression is reported valid and translated into a plain-English schedule.
Common mistakes it catches
A six-field expression written when five were meant: 0 0 9 * * 1-5 is read as seconds 0, minute 0 and will fire at 09:00 but the extra field changes the meaning. A range outside the field, such as minute 0-75 or hour 0-25, is rejected because the parser sees an out-of-range endpoint. A misplaced dash, such as 1 - 5 with spaces, splits into two fields and fails the count check.
Month, weekday and timezone names are not evaluated here. Many cron implementations accept MON or JAN, and all of them depend on the server timezone (or a CRON_TZ setting). A schedule that looks right in UTC can run an hour off on a host in another zone.
Examples worth keeping
*/15 * * * * — every 15 minutes0 0 1 * * — midnight on the first of each month30 2 * * 0 — 02:30 every Sunday0 9-17 * * 1-5 — hourly on the hour, office hours on weekdays
Validation is not the same as a firing test. It proves the expression parses and every field is in range; it cannot know whether the job itself is registered, whether the host is awake, or whether daylight saving will shift the run by an hour twice a year.
Frequently Asked Questions
What does 0 9 * * 1-5 run?
09:00 Monday to Friday. Minute 0, hour 9, any day of any month, weekdays 1 to 5.
Why was my six-field expression rejected?
Six fields are accepted only when the first is read as seconds (0-59). An out-of-range seconds field, or a seventh field, fails the count or range check.
Can I use names like MON or JAN?
Not in this validator. It range-checks numbers only. Many cron implementations accept names at runtime, so test on the host if you rely on them.
Does a valid expression guarantee the job runs?
No. It only proves the syntax and ranges are valid. Registration, timezone, daylight saving and the host being up are separate conditions.
What is the 7 in day of week?
Some implementations accept 7 as Sunday alongside 0. This validator checks 0-6, so use 0 for Sunday to stay portable.
Hosting Cost per Year and other Tech & Digital tools
Hosting Cost per Year · AI Token Cost Estimator · Hash Generator (MD5/SHA) · Wire Gauge (AWG) Reference · Download Time Calculator · API Cost Calculator · Tech & Digital Guides