Cron Expression Presets – Free, Online, Private
Twenty-five common cron expressions with the five fields explained, the next runs, and crontab, GitHub Actions, and Kubernetes snippets.
- Every Minute Cron* * * * *
- Every 5 Minutes Cron*/5 * * * *
- Every 10 Minutes Cron*/10 * * * *
- Every 15 Minutes Cron*/15 * * * *
- Every 30 Minutes Cron*/30 * * * *
- Every Hour Cron0 * * * *
- Every 2 Hours Cron0 */2 * * *
- Every 6 Hours Cron0 */6 * * *
- Every 12 Hours Cron0 */12 * * *
- Every Day at Midnight Cron0 0 * * *
- Every Day at Noon Cron0 12 * * *
- Every Day at 9:00 Cron0 9 * * *
- Every Day at 18:00 Cron0 18 * * *
- Every Monday Cron0 9 * * 1
- Every Sunday Cron0 0 * * 0
- Every Friday Cron0 17 * * 5
- Weekdays at 9:00 Cron0 9 * * 1-5
- Weekdays at 18:00 Cron0 18 * * 1-5
- Weekends at 10:00 Cron0 10 * * 6,0
- First Day of the Month Cron0 0 1 * *
- Twice a Day Cron0 8,20 * * *
- Weekday Office Hours Cron0 9-17 * * 1-5
- Quarterly Cron0 0 1 */3 *
- Yearly Cron on 1 January0 0 1 1 *
- Every 15 Minutes During Business Hours Cron*/15 9-17 * * 1-5
What these pages are
Each preset is one five-field cron expression: minute, hour, day of month, month, and day of week. The page names the schedule in English, explains the five fields, and computes the next five run times in your browser so the list is not frozen at the time the site was built. You can edit the expression on the page. A crontab line, a GitHub Actions schedule, and a Kubernetes CronJob manifest are filled in from the same text.
Classic cron has no seconds and no year. Quartz and some application frameworks prepend a seconds field and use L, W, and # for last-day and nth-weekday rules. Those tokens are not portable, so they are not baked into these presets. If a pasted line has six fields, drop the seconds or move to the cron builder, which can show a seconds variant without pretending every daemon agrees.
GitHub Actions cron is UTC, will not run more often than every five minutes, may start late, and is disabled after sixty days without repository activity. Kubernetes batch/v1 CronJob schedule is also five fields. spec.timeZone has been stable since Kubernetes 1.27. The manifests set Etc/UTC. A user crontab uses the host zone unless you configure one. The English sentence cannot tell you the zone. The comment you write next to the line has to.
Day fields
Sunday is 0, and on many systems 7 is Sunday as well. Monday is 1 and Saturday is 6. A range 1-5 is Monday through Friday, inclusive. A list 6,0 is Saturday and Sunday, not the days between them. If you set both the day-of-month and the day-of-week to something other than *, do not assume the job waits for both. Vixie cron and many descendants run the job when either field matches. These presets restrict at most one of the two, so the next-run list is not depending on that quirk.
The first of the month is day 1. The last day of the month is the case these pages refuse to spell with L. Name a real day, or handle the end of the month in the command. Public holidays are invisible to cron. A weekday range runs on a bank holiday.
The presets
Every Minute Cron is * * * * *. The five-field expression * * * * * runs once a minute, all day. Every minute, every hour, every day Every 5 Minutes Cron is */5 * * * *. */5 * * * * runs at minute 0, 5, 10, and so on, every hour. Every 5 minutes, every hour, every day Every 10 Minutes Cron is */10 * * * *. */10 * * * * runs at minutes 0, 10, 20, 30, 40, and 50. Every 10 minutes, every hour, every day Every 15 Minutes Cron is */15 * * * *. */15 * * * * runs at minutes 0, 15, 30, and 45 of every hour. Every 15 minutes, every hour, every day Every 30 Minutes Cron is */30 * * * *. */30 * * * * runs at minute 0 and minute 30 of every hour. Every 30 minutes, every hour, every day Every Hour Cron is 0 * * * *. 0 * * * * runs at minute 0 of every hour. Every hour, every day Every 2 Hours Cron is 0 */2 * * *. 0 */2 * * * runs at minute 0 of every even hour. On the hour, every 2 hours, every day Every 6 Hours Cron is 0 */6 * * *. 0 */6 * * * runs at 00:00, 06:00, 12:00, and 18:00. On the hour, every 6 hours, every day Every 12 Hours Cron is 0 */12 * * *. 0 */12 * * * runs at 00:00 and 12:00. On the hour, every 12 hours, every day Every Day at Midnight Cron is 0 0 * * *. 0 0 * * * runs at 00:00 every day. At 00:00, every day Every Day at Noon Cron is 0 12 * * *. 0 12 * * * runs at 12:00 every day. At 12:00, every day Every Day at 9:00 Cron is 0 9 * * *. 0 9 * * * runs at 09:00 every day of the week. At 09:00, every day Every Day at 18:00 Cron is 0 18 * * *. 0 18 * * * runs at 18:00 every day. At 18:00, every day Every Monday Cron is 0 9 * * 1. 0 9 * * 1 runs at 09:00 on Monday. At 09:00, only on Monday Every Sunday Cron is 0 0 * * 0. 0 0 * * 0 runs at 00:00 on Sunday. At 00:00, only on Sunday Every Friday Cron is 0 17 * * 5. 0 17 * * 5 runs at 17:00 on Friday. At 17:00, only on Friday Weekdays at 9:00 Cron is 0 9 * * 1-5. 0 9 * * 1-5 runs at 09:00 Monday through Friday. At 09:00, Monday through Friday Weekdays at 18:00 Cron is 0 18 * * 1-5. 0 18 * * 1-5 runs at 18:00 Monday through Friday. At 18:00, Monday through Friday Weekends at 10:00 Cron is 0 10 * * 6,0. 0 10 * * 6,0 runs at 10:00 on Saturday and Sunday. At 10:00, only on Sunday and Saturday First Day of the Month Cron is 0 0 1 * *. 0 0 1 * * runs at 00:00 on the 1st of every month. At 00:00, on day 1 of the month Twice a Day Cron is 0 8,20 * * *. 0 8,20 * * * runs at 08:00 and 20:00 every day. At 08:00 and 20:00, every day Weekday Office Hours Cron is 0 9-17 * * 1-5. 0 9-17 * * 1-5 runs at minute 0 of each hour from 09:00 through 17:00, Monday to Friday. Every hour, between 09:00 and 17:00, Monday through Friday Quarterly Cron is 0 0 1 */3 *. 0 0 1 */3 * runs at 00:00 on the 1st of every third month. At 00:00, on day 1 of the month, every 3 months Yearly Cron on 1 January is 0 0 1 1 *. 0 0 1 1 * runs at 00:00 on 1 January. At 00:00, on day 1 of the month, only in January Every 15 Minutes During Business Hours Cron is */15 9-17 * * 1-5. */15 9-17 * * 1-5 runs every 15 minutes from 09:00 through 17:00, Monday to Friday. Every 15 minutes, between 09:00 and 17:59, Monday through Friday
Open a preset to edit the expression and to copy a snippet. For a schedule that is not in the list, start from the closest one or use the cron builder, which clicks the fields together, and the cron parser, which explains a line you already have. The cron-to-English converter is the short version of the same idea. The essay on client-side converters describes why the next runs are computed in the tab.
Frequently asked questions
Why are there five fields?
That is classic cron, GitHub Actions, and Kubernetes CronJob. A leading seconds field belongs to Quartz-style schedulers and shifts the other fields if you paste it into a five-field system.
Are the examples in UTC?
The next-run preview is UTC. Your server runs in its own zone. GitHub Actions is UTC. The Kubernetes manifest sets timeZone to Etc/UTC so it matches the preview.
How often can GitHub Actions schedule a workflow?
Every five minutes is the documented minimum. The every-minute preset explains why that expression is still useful in crontab and a bad workflow trigger.
Does this page store the expression?
No. Editing the box only updates the tab. There is no account and no history on a server.