Cron expression for every Monday at 9am

At 9:00 AM, only on Monday

0
minute
9
hour
*
day (month)
*
month
1
day (week)

At 9:00 AM, only on Monday

Try this expression in the interactive tool:

Open in cron explainer →

Next 10 scheduled runs

#1Mon, 20 Apr 2026, 09:00
#2Mon, 27 Apr 2026, 09:00
#3Mon, 4 May 2026, 09:00
#4Mon, 11 May 2026, 09:00
#5Mon, 18 May 2026, 09:00
#6Mon, 25 May 2026, 09:00
#7Mon, 1 Jun 2026, 09:00
#8Mon, 8 Jun 2026, 09:00
#9Mon, 15 Jun 2026, 09:00
#10Mon, 22 Jun 2026, 09:00

Common use cases

Monday morning at 9 AM is the natural trigger for anything on a weekly cadence. Sprint planning reminders, weekly analytics reports, Monday morning team digests, and "last week in review" summaries all use this pattern.

It's also popular for weekly maintenance tasks: pruning old backups, regenerating sitemaps, or checking for dependency updates in your codebase.

Platform-specific syntax

crontab
0 9 * * 1 /path/to/script.sh
AWS EventBridge
cron(0 9 ? * MON *)
GitHub Actions
schedule:
  - cron: '0 9 * * 1'  # Mondays 9AM UTC
Kubernetes
schedule: "0 9 * * 1"

Technical breakdown

The expression 0 9 * * 1 has five fields: minute=0, hour=9, day (month)=*, month=*, day (week)=1. At 9:00 AM, only on Monday.

Frequently asked questions

Can I use MON instead of 1?
In standard POSIX cron, only numbers 0-7 are valid. Many implementations (Vixie cron, AWS, Quartz) accept three-letter day names like MON, TUE, WED. Check your platform's documentation.