Convert cron to AWS EventBridge

This page shows how to write a standard five-field Unix cron schedule as a AWS EventBridge schedule. Every example below is produced by the CronLabs engine. To convert an expression of your own, open the interactive converter.

Example conversions

Each row shows a common cron expression, what it does, and the equivalent AWS EventBridge schedule.

CronMeaningAWS EventBridge
0 9 * * *at 9:00 AMcron(0 9 * * ? *)
*/15 * * * *every 15 minutescron(*/15 * * * ? *)
0 9 * * 1-5at 9:00 AM on weekdayscron(0 9 ? * 2-6 *)
0 0 * * 0Every Sunday at midnightcron(0 0 ? * 1 *)
0 0 1 * *First day of every month at midnightcron(0 0 1 * ? *)
30 2 * * *at minute 30 at 2:30 AMcron(30 2 * * ? *)

Ready-to-use AWS EventBridge configuration

The snippet below schedules a job for at 9:00 AM on weekdays (cron 0 9 * * 1-5). Replace the placeholder command and names with your own values.

AWS EventBridge · bash
aws scheduler create-schedule \
  --name my-job \
  --schedule-expression "cron(0 9 ? * 2-6 *)" \
  --schedule-expression-timezone "UTC" \
  --flexible-time-window '{"Mode":"OFF"}' \
  --target '{"Arn":"<TARGET_ARN>","RoleArn":"<ROLE_ARN>"}'

Things to know about AWS EventBridge schedules

AWS requires '?' in one day field; it was placed in day-of-week.
AWS cron is 6-field with a trailing year. EventBridge Scheduler supports a timezone; classic Events rules are UTC-only.
AWS numbers days-of-week 1-7, where 1=Sunday. The day-of-week field was reindexed from the standard 0-6 numbering automatically.
AWS requires '?' in one day field; it was placed in day-of-month.
AWS can't match both day-of-month AND day-of-week. Converted to day-of-month only. Split into two schedules if you need both.

For the full syntax, see the official AWS EventBridge documentation.

Convert your own expression

Paste any cron expression into the validator to see its next run times, a calendar view, and the equivalent schedule for every supported platform.

Open the validator

Convert cron to other platforms