Skip to main content

Cron Monday, Wednesday & Friday

0 0 * * 1,3,5

At 00:00, only on Monday, Wednesday, and Friday.

Next runs · UTC

Calendar

September 2026 · UTC

0 runs

About this tool

Run a cron every Monday, Wednesday and Friday with 0 0 * * 1,3,5. Three runs per week, evenly spaced. The most common “three times a week” cadence in production crontabs.

The cron expression for every Monday, Wednesday and Friday

0 0 * * 1,3,5

The day-of-week list 1,3,5 selects Monday (1), Wednesday (3) and Friday (5) - three days per week. Equivalent name-alias form: 0 0 * * MON,WED,FRI.

See the dedicated guide for the full breakdown: Cron every week.

Paste it into the editor above to see the next runs on a calendar.

When to run a job every Monday, Wednesday and Friday

  • Reports and notifications that should only go out every Monday, Wednesday and Friday.
  • Maintenance windows and heavier batch jobs scheduled around when people are working.
  • Reminders and check-ins tied to a weekly rhythm rather than a calendar date.

Run this cron anywhere

0 0 * * 1,3,5 is five-field cron syntax. It works as is in:

AWS EventBridge and Quartz use six-field expressions with a ? in one of the day fields, so convert first:

  • AWS EventBridge - cron(minute hour day-of-month month ? year); see the AWS guide.
  • Quartz Scheduler - prepend a seconds field (0) and replace one day field with ?; see the Quartz guide.

Useful variations

  • 0 19 * * 1,3,5 - Mon/Wed/Fri at 19:00 - see the dedicated FAQ
  • 0 9 * * MON,WED,FRI - name-alias form (equivalent)
  • 0 0 * * 2,4 - Tuesday and Thursday - the alternate three-day pattern

Gotchas when running every Monday, Wednesday and Friday

  • Timezone and daylight saving - DST handling is scheduler-specific: Vixie/cronie can skip or double local matches; GitHub advances nonexistent local times; EventBridge Scheduler skips spring and runs once in the fall overlap. UTC-only Vercel and Cloudflare schedules are unaffected.
  • Missed runs are not replayed - If the host or platform is unavailable at the scheduled minute, standard cron simply waits for the next match. Add a heartbeat or alert if a skipped run must be noticed.
  • Day-of-week and day-of-month are OR-ed - In Vixie-style cron, restricting both fields runs the job when either matches. Keep day-of-month as * when the weekday is the only restriction you want.
  • Sunday numbering varies by dialect - Vixie-style cron accepts 0 and 7 as Sunday. AWS EventBridge and Quartz use 1 for Sunday and 7 for Saturday; prefer weekday names when translating dialects.

Examples

  • 0 18 * * *
    Every day at 18:00
  • 0 */5 * * *
    Every 5 hours
  • 0 18 * * 1-5
    Weekdays at 18:00
  • 0 0 1 * *
    Once a month, on the 1st at midnight

Cheatsheet

Full cheatsheet
FieldReq.RangeWildcards
minuteyes0-59, - * /
houryes0-23, - * /
day of monthyes1-31, - * /
monthyes1-12 or JAN-DEC, - * /
day of weekyes0-6 or names; some dialects use 0-7 or 1-7 — see Dialects, - * /

Frequently asked questions

Syntax

What does the list 1,3,5 mean in cron?

It selects Monday, Wednesday, and Friday in Vixie cron. Commas join separate weekday values without filling the days between them.

Day-of-week values
Can I write Monday, Wednesday, and Friday with names?

Yes. 0 0 * * MON,WED,FRI is equivalent and avoids numeric weekday differences between dialects. Expression: 0 0 * * MON,WED,FRI

Open in editor
Dialect matrix
Should I replace 1,3,5 with 1-5/2?

No for portable cron. Some parsers expand 1-5/2 to Monday, Wednesday, and Friday, but the explicit 1,3,5 list is clearer across schedulers.

Dialect matrix
How do I change this to Tuesday and Thursday?

Use 0 0 * * 2,4. A list is appropriate because Tuesday and Thursday are nonconsecutive weekdays. Expression: 0 0 * * 2,4

Open in editor
Twice-a-week guide

Timing

How do I run Monday, Wednesday, and Friday at 09:00?

Use 0 9 * * 1,3,5. Change the hour to 9 and keep the three-day weekday list. Expression: 0 9 * * 1,3,5

Open in editor
Specific-time recipe
Are Monday, Wednesday, and Friday runs evenly spaced?

No. The gaps are two days, two days, then three days from Friday to Monday; cron matches named weekdays rather than a fixed elapsed interval.

Days and months

Can I combine 1,3,5 with a day-of-month date?

Yes, but Vixie treats the restricted fields as OR. 0 9 1 * 1,3,5 runs every Monday, Wednesday, Friday, and every month on day 1. Expression: 0 9 1 * 1,3,5

Open in editor
Day-field rules
How do I alternate Monday-Wednesday-Friday with Tuesday-Thursday?

Use separate schedules: 0 9 * * 1,3,5 and 0 9 * * 2,4. Cron defines both weekly patterns but does not alternate them by week. Expression: 0 9 * * 2,4

Open in editor
Tuesday-Thursday pattern

Platforms

What is the Quartz form for Monday, Wednesday, and Friday?

Use 0 0 0 ? * MON,WED,FRI for midnight. Quartz adds seconds first and requires ? in the unused day-of-month field. Expression: 0 0 0 ? * MON,WED,FRI

Open in editor
Quartz cron guide

Debugging

Why do some weeks show only two Monday-Wednesday-Friday runs?

A reporting window may begin after Monday or end before Friday. Count matches against the full calendar week and the scheduler timezone before treating two runs as missing.

Crontap

Can Crontap call an endpoint every Monday, Wednesday, and Friday?

Yes. Crontap can run 0 0 * * 1,3,5 in the selected IANA timezone and invoke an HTTP endpoint on those weekdays.

Schedule API calls

General

What is the cron expression for every Monday, Wednesday and Friday?

0 0 * * 1,3,5. Paste this into Linux crontab, Vercel cron, node-cron, robfig/cron, or a Kubernetes CronJob to run a job every Monday, Wednesday and Friday; AWS EventBridge and Quartz need the six-field form.

How can I verify this cron actually runs every Monday, Wednesday and Friday?

The editor above shows the next 30+ runs on a calendar in your local timezone, plus a plain-English description. If the calendar matches your intent, the cron is correct.

Does 0 0 * * 1,3,5 work on every platform?

Linux crontab, Vercel cron jobs, node-cron, robfig/cron, and Kubernetes CronJob accept the five-field form as is. AWS EventBridge and Quartz use six-field expressions with a ? in one of the day fields; see the AWS and Quartz guides for the conversion. Vercel's free Hobby plan caps the minimum frequency at once-per-day; the Pro plan removes that cap.

What happens if the previous run is still going when the next one fires?

Most schedulers will start the new run anyway, leading to overlap. To prevent this, wrap the command with flock -n /tmp/myjob.lock /path/to/script.sh on Linux, or set concurrencyPolicy: Forbid on Kubernetes CronJob. Vercel and EventBridge may overlap runs if the previous one is still executing; make the handler idempotent.

Write the cron here. Run it on Crontap.

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

1.9k+ teams · Free forever tier · No credit card