AWS EventBridge uses its own cron format with six fields, UTC timing, and a few scheduler-specific wildcard rules.
EventBridge cron expressions use the wrapper cron(...) and contain six fields: minute, hour, day of month, month, day of week, and year. EventBridge evaluates cron schedules in UTC, so local timezone assumptions are one of the most common sources of mistakes.
| Field | Values | Wildcards |
|---|---|---|
| Minutes | 0-59 | , - * / |
| Hours | 0-23 | , - * / |
| Day of month | 1-31 | , - * ? / L W |
| Month | 1-12 or JAN-DEC | , - * / |
| Day of week | 1-7 or SUN-SAT | , - * ? L # |
| Year | 1970-2199 | , - * / |
AWS requires either day-of-month or day-of-week to be unspecified with ?. For example, cron(0 9 ? * MON-FRI *) says “ignore day of month and run Monday through Friday.”
AWS also supports rate expressions for simple intervals, such as rate(5 minutes), rate(1 hour), and rate(7 days). Use rate(...) when you want a recurring interval instead of a calendar-based schedule.
| Expression | Meaning |
|---|---|
| cron(0 12 * * ? *) | Every day at 12:00 UTC |
| cron(0 9 ? * MON-FRI *) | Every weekday at 09:00 UTC |
| cron(15 10 ? * 6L *) | The last Friday of every month at 10:15 UTC |
| cron(0 8 1 * ? *) | The first day of every month at 08:00 UTC |
| rate(5 minutes) | Every 5 minutes |
You can paste any of these examples into the Cron Explainer tool to validate the syntax and preview supported schedules.