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 crontab
0 8 * * 1-5Quartz
0 0 8 ? * MON-FRISpring @Scheduled
0 0 8 ? * MON-FRIAWS EventBridge
cron(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 crontab | AWS cron() | |
|---|---|---|
| Fields | 5 | 6 (adds year) |
| Sunday | 0 (or 7) | 1 |
| Both day fields | allowed (OR rule) | one must be ? |
| L, W, # | no | yes |
| Time zone | server clock | UTC (rules) or chosen zone (Scheduler) |
| Weekdays 09:00 | 0 9 * * 1-5 | cron(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.