DEV TOOLBOX · CRON DIALECT
>cronpreview

Build, validate, and preview cron expressions across Unix, AWS EventBridge, GitHub Actions, Vercel, Kubernetes, Quartz, and Spring — with timezone-correct next-run previews.

Guide · 4 min read

Why cronpreview rejects some valid-looking expressions

You typed something that looks fine and got a red error. Here is what the validator is checking and why.

A cron expression that parses on one platform can be rejected outright on another, even when it looks identical to the eye. cronpreview's validator runs dialect-specific rules before handing the expression off to the iterator. That's deliberate: we'd rather you find out at edit time than at deploy time.

AWS EventBridge: missing ?

0 9 * * MON-FRI * looks valid. It is not. AWS requires that one of day-of-month or day-of-week be ?. Rewrite as 0 9 ? * MON-FRI * and the validator clears it.

GitHub Actions: */2 in the minute field

GitHub silently caps the minimum interval at 5 minutes. */2 * * * * is accepted by the YAML parser but the scheduler simply ignores it at runtime — the job will appear to be configured and fire approximately never. The validator rejects it so you don't spend an afternoon wondering why nothing is happening.

Vercel: alphabetic aliases

Most cron implementations accept MON-FRI or JAN. Vercel does not. 0 9 * * MON-FRI would deploy but never fire correctly. Use 0 9 * * 1-5.

Vercel Hobby: more than one run per day

The Hobby plan limits cron schedules to one fire per day. 0 9 * * 1-5 fires five times per week — over the limit, rejected at deploy. Use a single day (0 9 * * 1) or upgrade to Pro. Toggle the "Vercel Hobby plan" checkbox in the dialect picker to surface this at edit time.

Quartz: both day-of-month and day-of-week without ?

Quartz treats "day-of-month 15 and day-of-week MON" as ambiguous and rejects it. The validator emits a warning rather than an error, because most Quartz implementations do parse it (treating both as wildcards or intersecting); but it's usually a sign of a bug in your expression, so we flag it.

Spotted something wrong? hello@cronpreview.com.