Home › Cron Checker & Validator
Format
5 fields: minute hour day month weekday
Try an example
Description
Format
Field breakdown
Next 5 scheduled runs
Same schedule in other formats
Not sure what is wrong? Use the Cron Generator to build the expression visually, or check the Cron Syntax reference.
What This Validator Checks
- Correct number of fields for the selected format
- All values within the valid range for each field
- Step values (
*/n) are positive integers - Ranges are ascending (start <= end)
- Comma-separated lists contain only valid values
- Named values (MON, JAN...) are recognised
- Quartz/AWS: day-of-month and day-of-week conflict (
?required) - Logically valid but impossible schedules (e.g. Feb 31st)
Why Validate Before Deploying?
Cron does not warn you when an expression is wrong. A typo in the minute field produces a valid-looking but misfiring job. A Quartz expression pasted into a Linux crontab silently becomes a different schedule. An AWS EventBridge rule with both day fields set is rejected at deploy time - after the CI/CD pipeline has already passed.
Validating takes two seconds. Debugging a cron job that has silently not run for three weeks takes much longer.
Common Validation Errors
Wrong number of fields
Linux/Kubernetes need 5 fields. Quartz and Spring Boot need 6 (or 7 with Year). AWS EventBridge needs exactly 6. Pasting a Quartz expression into the Linux validator will fail - select the right format first.
Value out of range
Minutes: 0-59. Hours: 0-23. Day of month: 1-31. Month: 1-12. Day of week: 0-6 (0 and 7 are both Sunday in Linux cron).
60 in the minute field and 24 in the hour field are common mistakes.
Step value of zero
*/0 is invalid. The step must be at least 1. */1 is valid but pointless - it is the same as *.
Inverted range
5-3 is invalid - ranges must go from low to high.
If you want "Friday and Saturday", use a list: 5,6, not a range.
dom AND dow conflict (Quartz/AWS)
In Quartz and AWS EventBridge, exactly one of day-of-month or day-of-week must be ?.
Linux cron accepts both, running the job when either condition matches.
Syntactically valid but impossible
0 0 31 2 * is syntactically valid - it passes field validation - but February 31st does not exist.
The job will never run. This validator flags it as a warning.
Whitespace issues
Fields must be separated by single spaces. Tabs, double spaces or trailing spaces cause parsing errors in some cron implementations. This validator trims and normalises whitespace automatically.
Validator FAQ
What is the difference between a cron checker and a cron validator?
Nothing meaningful. Both terms describe the same thing: a tool that checks whether a cron expression is syntactically correct and tells you when it will run. "Validator" tends to imply stricter checking (ranges, logic), while "checker" suggests a quick sanity check. This tool does both.
Why does my expression fail in AWS but not Linux?
AWS EventBridge requires a 6th field (Year) and enforces that one of day-of-month or day-of-week is ?.
A valid Linux expression like 0 9 * * 1-5 needs to become 0 9 ? * MON-FRI * for AWS.
Select the AWS format in the validator to check against the right rules.
Does this validator check timezone issues?
No. Timezone is a runtime concern, not a syntax issue. A valid expression runs at the correct time only if the server or application timezone is what you expect. AWS EventBridge always uses UTC. Linux cron uses the server timezone. Quartz and Spring Boot use the application timezone.