AWS EventBridge cron

☁️ AWS EventBridge cron, decoded.

AWS uses 6 fields with year. Day-of-month OR day-of-week must be ? (not both *). All schedules run in UTC.

AWS EventBridge Generator

Translation
    
              
            
    Worked examples

    Common AWS EventBridge schedules.

    ExpressionWhat it meansTypical use
    0 0 ? * * * Every day at midnight UTC Daily cleanup, backups, daily reports.
    0/15 * ? * * * Every 15 minutes Frequent polling, queue draining.
    0 9 ? * MON-FRI * Every weekday at 9 AM UTC Business-hours-only batch jobs.
    0 0 ? * SUN * Every Sunday at midnight Weekly maintenance windows.
    0 0 1 * ? * First day of every month Monthly billing, monthly reports.
    0 0 1 1 ? * January 1st each year Yearly resets, archive rotations.

    Click any expression to load it into the tool above.

    Common questions

    AWS EventBridge FAQs.

    AWS uses Quartz-style cron where you can't restrict both day-of-month AND day-of-week at the same time. The ? means "no specific value" — it tells AWS to use the OTHER day field. So 0 9 ? * MON-FRI * means "use MON-FRI for the schedule, ignore day-of-month".

    Every 1 minute. EventBridge does not support sub-minute granularity. For faster triggers, use Step Functions Express or Lambda with self-invocation.

    EventBridge cron is UTC only. To run "9 AM Tokyo time", calculate the equivalent UTC hour (e.g., 0 0 ? * * * for midnight Tokyo = 3 PM UTC the previous day). Alternatively, use AWS EventBridge Scheduler (a newer service) which supports timezones.

    Three differences: (1) 6 fields with year instead of 5, (2) requires ? in one day field, (3) UTC only with no environment context. Otherwise the syntax (ranges, lists, steps) is the same.

    Yes — use the AWS Console "Test schedule" feature, or use the AWS CLI: aws events test-event-pattern. You can also inspect the upcoming runs in our tool above.