Expression Validator

Validate cron expressions and catch edge cases before they cause problems.

Try It Now

Use the validator directly without creating an account:

Open Validator →

What It Does

Next Run Preview

See the next 10 (or more) scheduled run times for your expression. No more guessing when your job will actually fire.

Timezone Support

Preview runs in any timezone. Verify your job runs at the right time for your users, regardless of server location.

Edge Case Warnings

Get automatic warnings for common pitfalls like February 29th, day 31 schedules, DST transitions, and more.

Shareable Links

Generate a URL for any expression to share with your team or save for later.

Edge Case Warnings

The validator automatically detects these common issues:

⚠️

Day 31 schedules

0 0 31 * * — Only runs in months with 31 days (Jan, Mar, May, Jul, Aug, Oct, Dec). Skipped in Feb, Apr, Jun, Sep, Nov.

⚠️

February 29th

0 0 29 2 * — Only runs during leap years. Your job will execute roughly once every 4 years.

⚠️

Day + Weekday combination

0 0 15 * 1 — When both day-of-month AND day-of-week are specified, cron runs when EITHER matches (OR logic, not AND).

⚠️

Every minute

* * * * * — Running every minute can be expensive and may indicate a misconfiguration. Consider if this frequency is necessary.

Cron Syntax Reference

*/*/*/*/*
minhourdaymonthweekday
FieldValuesSpecial Characters
Minute0-59* , - /
Hour0-23* , - /
Day of Month1-31* , - /
Month1-12* , - /
Day of Week0-6 (Sun-Sat)* , - /

Common Examples

* * * * *Every minute
0 * * * *Every hour
0 0 * * *Every day at midnight
0 9 * * 1-5Every weekday at 9am
0 0 * * 0Every Sunday at midnight
0 0 1 * *First day of every month
*/15 * * * *Every 15 minutes
0 9,17 * * *At 9am and 5pm daily
0 0 1 1 *Every January 1st at midnight