Build and validate EventBridge cron and rate expressions with human-readable previews.
Last verified: April 2026
0-59, *, or increments like 0/5
0-23, *, or increments like 0/2
1-31, *, ?, L, or W (e.g. 15W)
1-12, JAN-DEC, or *
1-7, SUN-SAT, ?, *, L, or # (e.g. MON#1)
1970-2199 or *
cron(0 * * * ? *)cron(0 * * * ? *)at minute 0
cron(0 * * * ? *) Description: at minute 0 Next occurrences (approximate): 1. 2026-05-09T00:00:00.000Z 2. 2026-05-10T00:00:00.000Z 3. 2026-05-11T00:00:00.000Z 4. 2026-05-12T00:00:00.000Z 5. 2026-05-13T00:00:00.000Z
The builder parses your six-field EventBridge cron expression, validates each field against EventBridge's specific rules (including the mandatory question mark constraint), and then generates the next N execution timestamps by iterating forward from the current UTC time and testing each minute against the expression. For rate expressions, it simply adds the interval to the current time repeatedly.
The EventBridge Cron Builder helps you create and validate cron and rate expressions for Amazon EventBridge scheduled rules. EventBridge cron syntax differs from standard Unix cron in several ways, including the year field, the requirement that either day-of-month or day-of-week must be a question mark, and the use of L and W modifiers. The tool previews upcoming execution times and translates expressions into human-readable descriptions.
Your finance team needs a report Lambda to run at 8 AM Eastern every first Monday of the month. You try 'cron(0 8 ? * 2#1 *)' but the report arrives at 3 AM Eastern because EventBridge evaluates in UTC. You use the builder to preview execution times, catch the timezone issue, and correct it to 'cron(0 13 ? * 2#1 *)' for EST (or switch to EventBridge Scheduler with America/New_York timezone).
EventBridge cron expressions always evaluate in UTC. If you need 9 AM Eastern, use 'cron(0 14 ? * MON-FRI *)' in winter and manually adjust for DST, or switch to EventBridge Scheduler which supports the ScheduleExpressionTimezone parameter natively.
The question mark (?) in EventBridge cron is mandatory for either day-of-month or day-of-week. If you specify both, deployment will fail silently in CloudFormation. This trips up even experienced engineers migrating from Unix cron.
Use rate expressions (e.g., 'rate(5 minutes)') instead of cron for simple intervals. Rate expressions are easier to read, less error-prone, and EventBridge automatically jitters the start time to avoid thundering herd problems across accounts.
EventBridge uses six fields (minute, hour, day-of-month, month, day-of-week, year) compared to Unix cron's five. Either day-of-month or day-of-week must be a question mark (?). EventBridge supports L (last), W (weekday), and # (nth day-of-week) modifiers. All times are in UTC.
Cron expressions define specific recurring schedules (e.g., 'cron(0 12 * * ? *)' for noon daily). Rate expressions define simple intervals (e.g., 'rate(5 minutes)' or 'rate(1 hour)'). Use cron for calendar-based schedules and rate for fixed-interval triggers.
EventBridge Scheduler (the newer service) supports timezone-aware scheduling with the ScheduleExpressionTimezone parameter. Classic EventBridge rules always evaluate cron expressions in UTC. If using classic rules, adjust your cron expression to account for the UTC offset.
Was this tool helpful?
Disclaimer: This tool runs entirely in your browser. No data is sent to our servers. Always verify outputs before using them in production. AWS, Azure, and GCP are trademarks of their respective owners.