Convert Kubernetes cron to AWS EventBridge
Kubernetes writes min hour dom mon dow; AWS EventBridge writes cron(min hour dom mon dow year). Paste an expression to convert it. Anything that does not map exactly is flagged with the reason and a workaround.
To · AWS EventBridgeExactcron() with six fields; one day field must be ?. UTC unless you set a time zone.
cron(0 9 ? * 2-6 *)Same schedule on other platforms
crontabExact
0 9 * * 1-5GitHub ActionsExact
0 9 * * 1-5Runs late on GitHub? Start it on the minute →
SpringExact
0 0 9 * * 1-5QuartzExact
0 0 9 ? * 2-6Next 10 runs
computed in your browser- Calculating…
Kubernetes vs AWS EventBridge
| Kubernetes | AWS EventBridge | |
|---|---|---|
| Fields | min hour dom mon dow | cron(min hour dom mon dow year) |
| Sunday | 0 (7 is an error) | 1 (SUN=1 … SAT=7) |
| Day and weekday both set | either matches; only * or ? leaves a field open | one of them must be ? |
| Special characters | none | L W # (one #) |
| Shortcuts | @yearly @monthly @weekly @daily @hourly | none; rate() for intervals |
| Time zone | spec.timeZone, else the controller’s zone | IANA zone in Scheduler, UTC by default |
| Shortest interval | 1 minute | 1 minute |
Common schedules, converted
| Kubernetes | AWS EventBridge | |
|---|---|---|
| Every 5 minutes | */5 * * * * | cron(0/5 * * * ? *) |
| Every hour | 0 * * * * | cron(0 * * * ? *) |
| Every minute | * * * * * | cron(* * * * ? *) |
| Every 10 minutes | */10 * * * * | cron(0/10 * * * ? *) |
| Every 15 minutes | */15 * * * * | cron(0/15 * * * ? *) |
| Every 30 minutes | */30 * * * * | cron(0/30 * * * ? *) |
| Daily at midnight | 0 0 * * * | cron(0 0 * * ? *) |
| Daily at 9 am | 0 9 * * * | cron(0 9 * * ? *) |
| Weekdays at 9 am | 0 9 * * 1-5 | cron(0 9 ? * 2-6 *) |
| Every Monday | 0 0 * * 1 | cron(0 0 ? * 2 *) |
| First day of the month | 0 0 1 * * | cron(0 0 1 * ? *) |
| Every 6 hours | 0 */6 * * * | cron(0 0/6 * * ? *) |
| Every Sunday at midnight | 0 0 * * 0 | cron(0 0 ? * 1 *) |
| Every 2 hours | 0 */2 * * * | cron(0 0/2 * * ? *) |
| Every 12 hours | 0 */12 * * * | cron(0 0/12 * * ? *) |
| Daily at noon | 0 12 * * * | cron(0 12 * * ? *) |
| Every Friday | 0 0 * * 5 | cron(0 0 ? * 6 *) |
| Every quarter | 0 0 1 */3 * | cron(0 0 1 1/3 ? *) |
| Every 2 minutes | */2 * * * * | cron(0/2 * * * ? *) |
| Every 3 hours | 0 */3 * * * | cron(0 0/3 * * ? *) |
| Daily at 6 am | 0 6 * * * | cron(0 6 * * ? *) |
| Daily at 6 pm | 0 18 * * * | cron(0 18 * * ? *) |
| Twice a day | 0 */12 * * * | cron(0 0/12 * * ? *) |
| Weekdays at 6 pm | 0 18 * * 1-5 | cron(0 18 ? * 2-6 *) |
| Weekends at 10 am | 0 10 * * 0,6 | cron(0 10 ? * 1,7 *) |
| 15th of the month | 0 0 15 * * | cron(0 0 15 * ? *) |
| Once a year | 0 0 1 1 * | cron(0 0 1 1 ? *) |
| Every 3 minutes | */3 * * * * | cron(0/3 * * * ? *) |
| Every 20 minutes | */20 * * * * | cron(0/20 * * * ? *) |
| Every 4 hours | 0 */4 * * * | cron(0 0/4 * * ? *) |
| Every 8 hours | 0 */8 * * * | cron(0 0/8 * * ? *) |
| Daily at 1 am | 0 1 * * * | cron(0 1 * * ? *) |
| Daily at 2 am | 0 2 * * * | cron(0 2 * * ? *) |
| Daily at 3 am | 0 3 * * * | cron(0 3 * * ? *) |
| Daily at 8 am | 0 8 * * * | cron(0 8 * * ? *) |
| Every weekday | 0 0 * * 1-5 | cron(0 0 ? * 2-6 *) |
| Every weekend day | 0 0 * * 0,6 | cron(0 0 ? * 1,7 *) |
| Every Tuesday | 0 0 * * 2 | cron(0 0 ? * 3 *) |
| Every Wednesday | 0 0 * * 3 | cron(0 0 ? * 4 *) |
| Every Thursday | 0 0 * * 4 | cron(0 0 ? * 5 *) |
| Every Saturday | 0 0 * * 6 | cron(0 0 ? * 7 *) |
| Every 6 months | 0 0 1 */6 * | cron(0 0 1 1/6 ? *) |
FAQ
Can every Kubernetes expression be converted to AWS EventBridge?
Of the 42 common schedules on this page, all convert exactly. Special characters that AWS EventBridge lacks are still flagged when you use them.
How is Sunday written in Kubernetes and AWS EventBridge?
Kubernetes: 0 (7 is an error). AWS EventBridge: 1 (SUN=1 … SAT=7).
Does the time zone carry over?
The expression has no time zone. Kubernetes: spec.timeZone, else the controller’s zone. AWS EventBridge: IANA zone in Scheduler, UTC by default.