AWS EventBridge Cron

AWS cron expression builder for EventBridge schedules

AWS cron expressions look close to Quartz cron, but the fields are different. Build the Unix version in the visual builder, then copy the AWS EventBridge version with the cron(...) wrapper, the required year field, and the correct ? day placeholder.

Copy-ready AWS example

cron(0 9 * * ? *)

This AWS EventBridge cron expression runs every day at 9:00 AM. Read it as minute 0, hour 9, every day of month, every month, no separate weekday condition, every year. The Unix equivalent is 0 9 * * *; the Quartz equivalent is 0 0 9 * * ?.

AWS cron field order

Minutes

0-59

0

Use a single minute, a list, a range, or an increment such as 0/15.

Hours

0-23

9

AWS uses 24-hour time. For EventBridge rules, examples are evaluated in UTC.

Day of month

1-31

*

Use ? here when day of week contains the real calendar rule.

Month

1-12 or JAN-DEC

*

Names like JAN, APR, and DEC are easier to review than numeric months.

Day of week

1-7 or SUN-SAT

?

Use ? here when day of month contains the real calendar rule.

Year

1970-2199

*

AWS requires this field. Use * for schedules that should continue every year.

Full pattern: cron(minutes hours day-of-month month day-of-week year). The day-of-month and day-of-week fields are paired: if one has a real value or wildcard, the other usually needs ?.

Common AWS cron expressions

ScheduleAWS cronUnix builder inputBuild
Every day at 9:00 AMcron(0 9 * * ? *)0 9 * * *Open
Every weekday at 6:00 PMcron(0 18 ? * MON-FRI *)0 18 * * 1-5Open
Every 15 minutescron(0/15 * * * ? *)*/15 * * * *Open
First day of each month at 8:00 AMcron(0 8 1 * ? *)0 8 1 * *Open

The builder opens the five-field Unix equivalent so you can check the schedule visually. Copy the AWS expression from this table when you are configuring EventBridge.

Convert Quartz cron to AWS cron

Daily at 9:00 AM

Quartz

0 0 9 * * ?

AWS EventBridge

cron(0 9 * * ? *)

Remove the leading seconds field and add year * at the end.

Weekdays at 6:00 PM

Quartz

0 0 18 ? * MON-FRI

AWS EventBridge

cron(0 18 ? * MON-FRI *)

Keep ? and weekday names, but drop seconds and add the year.

Every 5 minutes

Quartz

0 */5 * * * ?

AWS EventBridge

cron(0/5 * * * ? *)

Use a minute increment and keep ? in the weekday field.

Every 10 seconds

Quartz

0/10 * * * * ?

AWS EventBridge

Not supported

AWS cron does not support schedules faster than one minute.

Production checks before you save

  • AWS cron uses six fields inside cron(...): minute, hour, day of month, month, day of week, and year.
  • Do not include a Quartz seconds field. If your expression starts with seconds, every field after it will be shifted.
  • Do not specify day of month and day of week at the same time. Use ? in one of those fields.
  • Use rate(...) instead of cron(...) for simple intervals such as every 5 minutes or every 2 hours when exact clock alignment is not important.
  • AWS cron schedules faster than one minute are not supported.

AWS CLI scheduled rule example

For an EventBridge scheduled rule, the schedule expression is passed as one string. Add targets and permissions separately for the Lambda, queue, or bus you want to invoke.

aws events put-rule \
  --name daily-9am-job \
  --schedule-expression "cron(0 9 * * ? *)"

Related cron references

Official AWS references

AWS documents the six-field EventBridge cron format, supported wildcards, the day-of-month versus day-of-week rule, and the faster-than-one-minute limitation in its EventBridge schedule pattern guide. EventBridge Scheduler also documents timezone configuration through ScheduleExpressionTimezone.

AWS cron FAQ

What is an AWS cron expression?

An AWS cron expression is the six-field schedule format used inside cron(...) for EventBridge scheduled rules and EventBridge Scheduler. The fields are minute, hour, day of month, month, day of week, and year.

Is AWS cron the same as Quartz cron?

No. AWS cron is Quartz-like, but it does not include the leading seconds field and it does include a year field. Quartz 0 0 9 * * ? becomes AWS cron(0 9 * * ? *).

Can I paste 0 9 * * * into AWS EventBridge?

Not directly. 0 9 * * * is a five-field Unix cron expression. In AWS EventBridge, daily 9:00 AM is cron(0 9 * * ? *) because AWS requires the cron(...) wrapper, a ? day field, and a year field.

Does AWS cron run in UTC?

EventBridge scheduled rule examples are evaluated in UTC. EventBridge Scheduler can evaluate a schedule in a named timezone when you configure ScheduleExpressionTimezone.

More Free Developer Tools