AWS EventBridge cron expression builder
EventBridge cron expressions have six fields (minutes, hours, day-of-month, month, day-of-week and year) and need a ? in one of the day fields. Check an expression, see its next runs and copy a CLI command. Nothing is sent anywhere.
| # | Local time | Offset | UTC | In |
|---|
How this dialect handles daylight saving time
AWS CLI
History and favourites (stored only in this browser)
Nothing saved yet. Expressions you check are saved here, in your browser's local storage, never on a server.
Runs locally. The expression is never uploaded. The share link keeps it after the # sign, which browsers never send to a server.
How to use
- Enter the six fields without the
cron( )wrapper (the tool accepts it if you paste it): minutes, hours, day-of-month, month, day-of-week, year. - Put
?in the day-of-month or day-of-week field that you are not using. Days of the week are 1-7 (1 is Sunday) or SUN-SAT. Use*in the year field if any year is fine. - Choose UTC to model scheduled rules. Choose another zone to model EventBridge Scheduler, which accepts an IANA time zone.
- Check the runs and warnings. For anything AWS does not document, the tool accepts the expression and says so.
- Copy the CLI snippet. For UTC it is an
events put-rulecommand; for another zone it is ascheduler create-schedulecommand with--schedule-expression-timezone. Fill in the target and role yourself.
Worked examples
Weekdays at 18:00 UTC
0 18 ? * MON-FRI *, with ? in the day-of-month field. After 19:00 UTC on Thursday 1 October 2026 the next run is Friday, then Monday.
AWS EventBridge, time zone UTC, runs after 2026-10-01 19:00 UTC0 18 ? * MON-FRI *
Fri 2026-10-02 18:00:00 +00:00Mon 2026-10-05 18:00:00 +00:00Tue 2026-10-06 18:00:00 +00:00
The first Monday of the month at 08:00 in Los Angeles
0 8 ? * 2#1 *. Day 2 is Monday and #1 picks the first one. Pacific time moves from -07:00 to -08:00 on 1 November, and the list shows that offset change.
AWS EventBridge, time zone America/Los_Angeles, runs after 2026-10-01 00:00 UTC0 8 ? * 2#1 *
Mon 2026-10-05 08:00:00 -07:00Mon 2026-11-02 08:00:00 -08:00Mon 2026-12-07 08:00:00 -08:00
The last Friday, within a range of years
15 10 ? * 6L 2019-2022 is the pattern from the AWS documentation (6L: the last Friday). Starting at the beginning of 2019, the first runs fall on the last Fridays of January, February and March.
AWS EventBridge, time zone UTC, runs after 2019-01-01 00:00 UTC15 10 ? * 6L 2019-2022
Fri 2019-01-25 10:15:00 +00:00Fri 2019-02-22 10:15:00 +00:00Fri 2019-03-29 10:15:00 +00:00
A repeated hour in Scheduler: 01:30 in Los Angeles on 1 November 2026
The clock reaches 01:30 twice that morning. AWS documents that Scheduler runs the schedule once, at the first occurrence (-07:00):
AWS EventBridge, time zone America/Los_Angeles, runs after 2026-10-31 12:00 UTC30 1 * * ? *
Sun 2026-11-01 01:30:00 -07:00Mon 2026-11-02 01:30:00 -08:00
Limits & gotchas
- Two services, two behaviours. Legacy scheduled rules are UTC-only and AWS marks them as a legacy feature. EventBridge Scheduler supports time zones. The tool treats UTC as the rule and any other zone as Scheduler.
- Undocumented extras are accepted with a warning. The AWS page lists
LandWfor day-of-month andLand#for day-of-week, but not Quartz'sL-norLWforms, nor/in the day-of-week field. We could not check these against the live service, so the tool warns instead of declaring them valid or invalid. - One
#only. A#expression must be the only one in the day-of-week field. - Precision. One minute at best, with a delay of several seconds possible. The times here are the scheduled instants.
- No account access. This page never calls AWS. It does not validate your expression against the service, and the CLI snippet is a template that you must complete and run yourself.
- Documentation moves. The long-standing cron expression reference page has been replaced by pages for scheduled rules and for Scheduler, which are cited below.
FAQ
What time zone do EventBridge cron rules use?
AWS states that all scheduled events in a (legacy) scheduled rule use UTC+0, and you cannot change that. EventBridge Scheduler, the newer service, lets you choose an IANA time zone for a cron schedule, and AWS documents how it treats daylight saving time.
Why do I get an error when I use * in both day fields?
AWS says you cannot specify both the day-of-month and the day-of-week fields, so one of them must be ?. You also cannot use * in both. Use ? in the one you do not care about, as in "0 18 ? * MON-FRI *".
Is the year field required?
In the legacy scheduled-rule syntax there are six required fields and the last is the year, with allowed values 1970-2199. Use * for any year. EventBridge Scheduler expressions also have six fields.
How often can a rule run?
AWS documents a minimum precision of one minute and says rates faster than one minute are not supported. It also notes a delay of several seconds is possible between the scheduled time and the invocation. EventBridge Scheduler has 60-second precision.
What does EventBridge Scheduler do at a daylight saving change?
AWS documents that if a schedule time falls in the hour skipped when clocks move forward, it is skipped for that day, and if a time occurs twice when clocks move back it runs only once, at the first occurrence. This tool follows that documentation when you choose a non-UTC zone.
Sources
- Amazon Web Services: Setting a schedule pattern for scheduled rules (legacy) in Amazon EventBridge Used for: Six required fields, field ranges, wildcards, the "?" rule, # limitation, minimum one-minute rate, UTC examples, year 1970-2199.
- Amazon Web Services: Creating a scheduled rule (legacy) in Amazon EventBridge Used for: All scheduled rule events use UTC+0; one-minute minimum precision; delay of several seconds possible; scheduled rules are a legacy feature.
- Amazon Web Services: Schedule types in EventBridge Scheduler Used for: Time zones (IANA), 60-second precision, daylight saving rules (skip in the gap, once in the overlap), cron expression fields.
Every document above was opened and read on 2026-10-01. Documentation changes; if a page here disagrees with the current docs, trust the docs and tell us.