Cron Expression Validator
DataValidate cron expressions for standard 5-field and 6-field (with seconds) formats. Checks ranges, step values, and special chars like L, W, and #. Instant.
Reviewed by the thecalcu.com team ยท Last updated July 23, 2026
What is a Cron?
The Cron Expression Validator checks whether a cron expression follows correct syntax, validating each field against its allowed range, verifying that special characters are used in the right positions, and providing a plain-English description of what the schedule does.
Cron expressions are the standard way to define recurring schedules in Unix/Linux systems, CI/CD platforms, cloud schedulers (AWS EventBridge, Google Cloud Scheduler), and application frameworks (Spring, Quartz). A valid cron expression looks deceptively simple, five space-separated fields, but the rules for each field are distinct, and several extended special characters (L, W, #, ?) are only legal in specific positions.
This validator supports both the 5-field standard Unix format and the 6-field format that prepends a seconds field (used by Quartz, Spring, and some cloud platforms). It handles all standard special characters (*, ,, -, /) and the Quartz extensions (L, W, #, ?). Auto-detect is on by default, the validator infers 5 or 6 fields from the expression itself.
Use this alongside the Regex Tester and Date Validator for related developer-tooling tasks.
Why Use a Cron Expression Validator?
Cron syntax errors are silent, a misconfigured cron job simply doesn't run (or runs at the wrong time), and there is no immediate error message to diagnose. Common mistakes include: using ? in a field that doesn't support it, putting a step value of 0 (*/0), specifying a day-of-week value of 8 (valid range is 0โ7), using L or W in the hour or minute field, writing a range where the start is greater than the end (30-10), or forgetting that some platforms use 0-indexed and others use 1-indexed day-of-week.
This validator surfaces the specific field and rule that failed, making it much faster to diagnose than a scheduler's opaque "invalid expression" error.
Who Should Use This Validator?
DevOps and platform engineers, Anyone writing cron jobs in CI/CD pipelines, Kubernetes CronJobs, or cloud schedulers needs to verify expressions before deploying. A syntax error can cause a job to never run or to skip silently.
Backend developers using Spring or Quartz, The 6-field format with seconds, along with L, W, and # extensions, is common in Java scheduling. This validator confirms whether the expression follows Quartz syntax correctly.
Data engineers scheduling pipelines, ETL jobs, report generation, and data sync tasks are often scheduled with cron. Validating the expression before deploying a pipeline prevents missed runs during data-sensitive windows.
System administrators managing crontabs, Quickly check a cron expression before adding it to /etc/crontab or a user's crontab, avoiding the need to wait for the scheduler to attempt the next run.
Developers writing tests for scheduled tasks, This validator documents all the field rules and special character constraints, which can be used directly as a reference for writing unit tests against a scheduler implementation.
What Insights Does the Cron Expression Validator Give You?
For a valid expression, the tool shows a field-by-field breakdown (e.g., minute: */5 | hour: * | day-of-month: * | month: * | day-of-week: *) and a plain-English description of the schedule (e.g., "Runs every 5 minutes"). For common patterns, the description is concise and human-readable.
For an invalid expression, the tool names the specific field that failed, quotes the problematic token, and explains exactly which rule it violated, whether the value is out of range, the special character is in the wrong position, or the step value is invalid.
How to use this Cron calculator
- Type or paste the cron expression into the input field (e.g.
*/5 * * * *or0 9 * * 1-5). - Select a format from the dropdown, Auto-detect (default) works for most cases; use 5-field or 6-field explicitly if needed.
- The result updates automatically as you type.
- Check the Valid or Invalid badge.
- If Invalid, read the error message, it will name the field and the specific rule that failed.
- If Valid, check the details section for the field breakdown and plain-English schedule description.
Formula & Methodology
5-field format:minute hour day-of-month month day-of-week6-field format (Quartz/Spring):second minute hour day-of-month month day-of-weekField ranges: | Field | Range | Named aliases | |---|---|---| | Second | 0โ59 | N/A | | Minute | 0โ59 | N/A | | Hour | 0โ23 | N/A | | Day-of-month | 1โ31 | N/A | | Month | 1โ12 | JAN FEB MAR APR MAY JUN JUL AUG SEP OCT NOV DEC | | Day-of-week | 0โ7 | SUN MON TUE WED THU FRI SAT (0 and 7 both = Sunday) | Special characters and where they are valid: | Char | Meaning | Valid fields | |---|---|---| |*| Every value | All | |,| List (e.g.1,3,5) | All | |-| Range (e.g.1-5) | All | |/| Step (e.g.*/5,1-30/2) | All | |?| No specific value | day-of-month, day-of-week | |L| Last (day of month or last weekday of type) | day-of-month, day-of-week | |W| Nearest weekday | day-of-month only | |#| Nth weekday in month (e.g.2#3= 3rd Monday) | day-of-week only | Valid examples: -* * * * *, every minute -0 9 * * 1-5, 9am on weekdays (MonโFri) -*/15 * * * *, every 15 minutes -0 0 L * ?, midnight on the last day of each month (Quartz) -0 0 ? * 2#1, midnight on the first Monday of each month (Quartz) Invalid examples: -* * * * 8, day-of-week 8 is out of range (0โ7) -*/0 * * * *, step value of 0 is not allowed -60 * * * *, minute 60 is out of range (0โ59) -0 9 L * *,Lis not valid in the month field -30-10 * * * *, range start (30) must be โค range end (10)
Related Tools
You may also find these useful: YAML Validator.
Frequently Asked Questions