Cron · Day of week · 0-6 · SUN-SAT
Cron Day of Week Values
Updated: May 2026
The fifth cron field controls the day of the week, and it trips people up more than any other — mostly because of how Sunday is numbered. This guide clears it up so you can target specific days with confidence.
See the next run times instantly · No upload
The numbering
| Value | Day | Name |
|---|---|---|
| 0 | Sunday | SUN |
| 1 | Monday | MON |
| 2 | Tuesday | TUE |
| 3 | Wednesday | WED |
| 4 | Thursday | THU |
| 5 | Friday | FRI |
| 6 | Saturday | SAT |
| 7 | Sunday (alias) | SUN |
The week starts on Sunday at 0, runs to Saturday at 6, and then 7 loops back to Sunday again. This is why you will see Sunday written as either 0 or 7 in real-world crontabs.
Names and ranges
Most modern cron implementations accept three-letter day names, which are case-insensitive:
0 9 * * 1-5=0 9 * * MON-FRI— weekdays.0 9 * * 0,6=0 9 * * SAT,SUN— weekends.0 9 * * 2,4— Tuesday and Thursday.0 9 * * 1-5/2— every other weekday (Mon, Wed, Fri).
Ranges that wrap around the week, such as FRI-MON, are not reliably supported. Use a list like 5,6,0,1 instead to be safe across implementations.
The day-of-month interaction
The single most important rule: when both the day-of-month and day-of-week fields are restricted, cron runs the job when either matches. For example 0 0 13 * 5 fires on the 13th of every month and on every Friday — not only on Friday the 13th. To target a single condition, keep the other field as *. The generator spells this out in its plain-English summary, which is the fastest way to catch the mistake.
Frequently asked questions
Why does my Sunday job not run?
Check whether you used 7 on a cron version that only recognizes 0. If unsure, use 0 — it is supported everywhere.
How do I run on the last Friday of the month?
Standard cron cannot express "last Friday" directly. Quartz-style schedulers use 6L. In plain cron, run on every Friday and add a date check in your script.
Can I mix names and numbers?
It is best not to. Stick to one style per field to avoid surprises on stricter cron parsers.