AWS EventBridge cron expression format
AWS EventBridge (and CloudWatch Events) cron expressions have six fields and differ from five-field Unix cron: they add a year field, run in UTC, and require ? in one of the day fields.
Open the tool, then paste the sample input below. Everything runs locally in your browser.
The problem
Pasting a Unix five-field cron into EventBridge fails, and so does using * in both the day-of-month and day-of-week fields at once. EventBridge fields are: minutes, hours, day-of-month, month, day-of-week, year. Exactly one of day-of-month or day-of-week must be ?.
All schedules are evaluated in UTC, not your local timezone.
Sample input
cron(0 9 ? * MON-FRI *)
Expected output
09:00 UTC, Monday through Friday, every month, every year
Minutes 0, hours 9, day-of-month ? (unspecified because day-of-week is set), month *, day-of-week MON-FRI, year *.
How to do it
- Write the minute and hour in UTC.
- Set day-of-month, or use
?if you are scheduling by weekday. - Set the month (
*for every month). - Set day-of-week, using
?here instead if you scheduled by day-of-month. - Set the year, or
*for every year. - Validate the schedule and confirm the next run times.
Common mistakes
- Using a five-field Unix cron expression in EventBridge.
- Forgetting that EventBridge schedules run in UTC.
- Putting a value in both day-of-month and day-of-week instead of using
?in one. - Omitting the year field.
- Expecting local-timezone behavior.
Related tools
Related guides
FAQ
How many fields does AWS EventBridge cron use?
Six: minutes, hours, day-of-month, month, day-of-week, and year.
What does ? mean in AWS cron?
It marks the day-of-month or day-of-week field as unspecified. EventBridge requires exactly one of those two fields to be ? when the other is set.
Is AWS EventBridge cron UTC?
Yes. Cron-based EventBridge schedules are evaluated in UTC. (Newer EventBridge Scheduler can apply a timezone, but classic cron rules are UTC.)
Can I use 5-field cron in EventBridge?
No. EventBridge cron expressions must use the six-field format wrapped in cron(...).
How do I schedule weekdays only?
Use ? for day-of-month and MON-FRI for day-of-week, for example cron(0 9 ? * MON-FRI *).
Parse and explain cron expressions locally in your browser. No expressions are uploaded.