Skip to content
AWS · Automation

AWS Cron Expression Builder

Build and check cron, rate and at expressions for Amazon EventBridge and EventBridge Scheduler, see the next run times in any time zone and copy the code.

Last updated

Schedule expression
Examples:
Use it

    
  
Convert from Linux cron

Paste a 5-field crontab expression (e.g. from a server or GitHub Actions). AWS adds a year field, needs ? in day-of-month or day-of-week, and numbers weekdays 1–7 from Sunday.

Frequently asked questions

What is the AWS cron expression format?

AWS cron has six fields: minutes, hours, day-of-month, month, day-of-week and year, written as cron(0 9 ? * MON-FRI *). Unlike Linux cron it adds a year field, numbers weekdays 1–7 starting with Sunday, and requires a ? in either day-of-month or day-of-week.

Why does my AWS cron expression say it is invalid?

The most common causes are setting both day-of-month and day-of-week (one must be ?), using a 5-field Linux expression without the year, using 0 for Sunday (AWS uses 1 or SUN), or combining # with other day-of-week values. This tool marks the field with the problem.

Does EventBridge cron run in UTC?

EventBridge rules always use UTC. EventBridge Scheduler lets you set a time zone with ScheduleExpressionTimezone (for example Asia/Kolkata or America/New_York) and handles daylight saving time. Choose a time zone above to see the run times and generate the matching code.

What is the difference between rate() and cron()?

rate(5 minutes) runs at a fixed interval counted from when the schedule starts, with units of minutes, hours or days. cron() runs at specific clock times, such as 09:00 on weekdays. EventBridge Scheduler also supports at() for a single run at a date and time.

How do I schedule a Lambda to run on the last day of the month?

Use L in day-of-month: cron(0 18 L * ? *) runs at 18:00 on the last day of every month. For the last Friday use 6L in day-of-week: cron(0 17 ? * 6L *). For the second Tuesday use 3#2.

Practical guide

AWS cron, rate and at expressions explained

Amazon EventBridge rules and EventBridge Scheduler both take a schedule expression. There are three kinds:

  • cron(minutes hours day-of-month month day-of-week year) — run at clock times, for example cron(0 9 ? * MON-FRI *) for 09:00 on weekdays.
  • rate(value unit) — run every N minutes, hours or days, for example rate(15 minutes). Use the singular unit for 1: rate(1 hour).
  • at(yyyy-mm-ddThh:mm:ss) — a single run (EventBridge Scheduler only).

How AWS cron differs from Linux cron

  • Six fields, not five — the last one is the year (1970–2199). Use * for every year.
  • Either day-of-month or day-of-week must be ?. You cannot set both.
  • Days of the week are 1–7 starting on Sunday (or SUN–SAT). Linux uses 0–6.
  • Extra symbols: L (last day of the month, or 6L for the last Friday), W (nearest weekday, e.g. 15W) and # (nth weekday, e.g. 2#1 for the first Monday).

Time zones

EventBridge rules always run in UTC. EventBridge Scheduler accepts an IANA time zone (for example Asia/Kolkata) through ScheduleExpressionTimezone and follows daylight saving time. A time that doesn't exist on a daylight-saving change day (such as 02:30 when clocks jump forward) is flagged in the run list so you can decide how your job should behave. Scheduler invokes targets within the minute you set, unless you give it a flexible time window.

Official references

Runs 100% in your browser. Your files and data never leave your machine. Nothing is uploaded or stored.

Need a hand with your AWS setup?

Get help from an AWS architect who builds and runs contact centre and AI workloads: IAM, data pipelines, Bedrock and cost reviews.