Cron Expression Validator

This cron expression validator checks one expression against six platforms at once. See where it is valid, where it is not, and why.

Examples:

How the cron expression validator reads one expression six ways

The same text can be valid on one scheduler and rejected by another. The validator runs the expression through the rules of Linux, Kubernetes, GitHub Actions, AWS EventBridge, Vercel and Quartz and shows each result, the reason it fails, and a corrected version where one exists.

Frequent causes of errors

  • Wrong field count. Five fields for Linux, Kubernetes, GitHub Actions and Vercel; six for EventBridge and Quartz (Quartz also accepts a seventh, the year).
  • Out-of-range values. Minutes go to 59, hours to 23, days of the month from 1 to 31.
  • Weekday numbering. 0 to 6 with Sunday as 0 on most systems, 1 to 7 with Sunday as 1 on EventBridge and Quartz.
  • The question mark. Required in one day field on EventBridge and Quartz, not part of standard cron.
  • Names. MON or JAN work on some platforms and not on Vercel.

Frequently asked questions

The wrong number of fields, values outside a field's range, bad step syntax, names or macros the platform does not support, or symbols from another platform such as ? or L where they are not allowed.
EventBridge uses six fields (minutes, hours, day-of-month, month, day-of-week, year), wraps them in cron(...), numbers weekdays 1 to 7, and requires ? in either the day-of-month or the day-of-week field. Rules run in UTC.
Yes. Running every minute can be valid but overwhelming for a slow job or a paid API. Validation checks syntax and platform rules, not whether the job is safe to run that often.
Check the five-field schedule here, then review the CronJob settings that decide what happens around it, such as concurrencyPolicy, startingDeadlineSeconds and spec.timeZone.

Related tools