AWS Cron Validator

Validate and explain an AWS EventBridge six-field cron expression in your browser.

  • Runs locally in your browser
  • No upload required

Try it

minutes hours day-of-month month day-of-week year

Occurrences are computed only from this instant, never the system clock.

Expression
0 12 * * ? *
Description
Runs at minutes [0] and hours [12] on every day-of-month / every day-of-week in every month.
Fields
minutes=0, hours=12, day-of-month=*, month=*, day-of-week=?, year=*
Next occurrences (UTC)
2026-01-01T12:00:00.000Z 2026-01-02T12:00:00.000Z 2026-01-03T12:00:00.000Z 2026-01-04T12:00:00.000Z 2026-01-05T12:00:00.000Z
2026-01-01T12:00:00.000Z
2026-01-02T12:00:00.000Z
2026-01-03T12:00:00.000Z
2026-01-04T12:00:00.000Z
2026-01-05T12:00:00.000Z

Supported formats

Input
text
Output
text

Privacy

Runs entirely in your browser. Your input is never uploaded, stored, or sent to a third party.

Processing
In your browser
Privacy level
Browser only

A valid AWS cron expression in 6 fields.

How it works

  • Split the expression into the six AWS fields.
  • Parsed '*' and '?' wildcards, ranges, steps, lists, month/day names, and the L/W/# specials.
  • Listed the next occurrences strictly after the supplied reference instant in UTC.
  • AWS evaluates cron in UTC and requires exactly one of day-of-month/day-of-week to be '?'.
  • The tool never reads the system clock; supply a reference to see occurrences.

Methodology

  1. Parse each of the six fields with AWS min/max ranges, month/day names and the L/W/# specials.
  2. Require exactly one day-of-month/day-of-week field to be '?'.
  3. Match candidate UTC instants from the supplied reference and list the next occurrences.

Usage

  1. Enter a six-field AWS cron expression (minutes hours day-of-month month day-of-week year).
  2. Optionally supply a reference ISO-8601 timestamp and the number of occurrences.
  3. Read the parsed fields, the description and any errors.

Examples

These are examples, not current values: they use fixed inputs, while the interactive tool computes live results in your browser.

Every day at noon

jsonSelect to copy
{
  "expression": "0 12 * * ? *",
  "reference": "2026-01-01T00:00:00.000Z",
  "count": 3
}

Last weekday of the month

jsonSelect to copy
{
  "expression": "0 9 LW * ? *",
  "reference": "2026-01-01T00:00:00.000Z",
  "count": 2
}

Limitations

AWS cron specials

`?` ignores a day field, `L` means the last day of the month (or the last given weekday), `W` means the nearest weekday, and `#` selects the nth weekday (for example `3#2` is the second Tuesday).

Frequently asked questions

Why must one of day-of-month or day-of-week be '?'?
AWS uses '?' to mark the field it should ignore, so exactly one of the two day fields must be '?'; the other expresses the schedule.
Why are no next occurrences shown?
Because the tool is deterministic and never reads the clock. Supply a reference timestamp to compute occurrences from that instant.
How is this different from a five-field POSIX cron tool?
AWS adds a sixth year field and the ?/L/W/# specials, and does not accept '0' for Sunday (Sunday is 1).

Sources

  1. AWS EventBridge cron expressions — Amazon Web Services