AWS cron expression builder

EventBridge rules and EventBridge Scheduler use their own six-field cron() with a year at the end. Build it here with AWS’s numbering, check the next runs, and copy the CLI call.

✓ Valid AWS cron

At 08:00, on weekdays (Monday through Friday).

Next 10 runs

Calculating in your browser…

Times are computed in your browser for the selected zone and are informational. The server that runs the job uses its own zone (often UTC) and cron flavour, so verify there.

Same schedule in other dialects

Unix crontab0 8 * * 1-5
Quartz0 0 8 ? * MON-FRI
Spring @Scheduled0 0 8 ? * MON-FRI
AWS EventBridgecron(0 8 ? * MON-FRI *)

Describe it in words, get the expression

Uses AI (AWS dialect). The answer is checked by the same validator before you can apply it.

AWS CLI

Fix the expression above to generate a working snippet.

# EventBridge Scheduler (supports time zones)
aws scheduler create-schedule \
  --name nightly-report \
  --schedule-expression "cron(0 8 ? * MON-FRI *)" \
  --schedule-expression-timezone "Europe/Berlin" \
  --flexible-time-window Mode=OFF \
  --target '{"Arn":"arn:aws:lambda:REGION:ACCOUNT:function:report","RoleArn":"arn:aws:iam::ACCOUNT:role/scheduler-role"}'

AWS vs Unix cron

Unix crontabAWS cron()
Fields56 (adds year)
Sunday0 (or 7)1
Both day fieldsallowed (OR rule)one must be ?
L, W, #noyes
Time zoneserver clockUTC (rules) or chosen zone (Scheduler)
Weekdays 09:000 9 * * 1-5cron(0 9 ? * MON-FRI *)

Questions

What is the AWS cron expression format?
cron(minutes hours day-of-month month day-of-week year): six fields, no seconds. Either day-of-month or day-of-week must be "?". Weekdays are 1–7 with 1 = Sunday, or SUN–SAT. Example: cron(0 12 ? * MON-FRI *) is noon on weekdays.
What time zone does EventBridge cron use?
EventBridge rules (the older scheduled rules) always use UTC. EventBridge Scheduler accepts a --schedule-expression-timezone such as "America/New_York" and adjusts for daylight saving.
Can AWS cron run every 30 seconds?
No. The smallest unit is one minute. For every N minutes you can also use a rate expression, rate(5 minutes).
Why does AWS reject my cron expression?
The usual causes are five fields instead of six (add the year, usually *), setting both day fields instead of putting "?" in one of them, or using 0 for Sunday (AWS uses 1). Paste it above and the validator points to the field.