Overview
What this tool does
Build cron expressions by filling in five simple fields, and read a plain-English description of exactly when the schedule runs. Common presets fill the fields for you, and the tool supports steps, ranges, and lists. It runs entirely in your browser.
How it's structured
The five cron fields
A cron expression has five space-separated fields, in this order:
| Field | Allowed values | |
|---|---|---|
| 1. Minute | minute of the hour | 0-59 |
| 2. Hour | hour of the day | 0-23 |
| 3. Day of month | calendar date | 1-31 |
| 4. Month | month | 1-12 |
| 5. Day of week | weekday (Sun=0) | 0-6 |
So 30 8 * * 1-5 reads as: minute 30, hour 8, any day of month, any month, Monday through Friday — i.e. 8:30 AM on weekdays.
Building schedules
The special characters
- * (asterisk) — every value. '* * * * *' runs every minute.
- */n (step) — every n units. '*/15 * * * *' runs every 15 minutes.
- a-b (range) — from a to b. '0 9-17 * * *' runs hourly from 9 AM to 5 PM.
- a,b,c (list) — specific values. '0 0 1,15 * *' runs on the 1st and 15th.
Quick reference
Common cron examples
| Expression | Meaning | |
|---|---|---|
| Every minute | * * * * * | 1,440 times a day |
| Every 5 minutes | */5 * * * * | 12 times an hour |
| Hourly | 0 * * * * | at the top of each hour |
| Daily at midnight | 0 0 * * * | once a day |
| Weekdays 9 AM | 0 9 * * 1-5 | Mon-Fri only |
| 1st of month | 0 0 1 * * | monthly |
| Every Sunday | 0 0 * * 0 | weekly |
A common mistake
The day-of-month vs day-of-week gotcha
Setting both can surprise you
0 0 13 * 5 runs on the 13th of the month AND every Friday. To target a specific weekday, leave day-of-month as *.Beyond Unix
Where cron is used
- Unix/Linux crontab — the original scheduler
- GitHub Actions and other CI/CD pipelines (scheduled workflows)
- Cloud schedulers — AWS EventBridge, Google Cloud Scheduler, Azure
- App frameworks and job queues (Laravel, Spring, node-cron, and more)
The five-field syntax is nearly identical across these systems, so a cron expression you build here works almost anywhere.
Behind the scenes
Privacy and how it runs
Runs in your browser
Common questions
What does '0 0 * * *' mean?
Run at minute 0 of hour 0 — midnight — every day. A daily midnight job.
How do I run a job every 30 minutes?
Use */30 * * * *. The */30 in the minute field means "every 30 minutes", so it runs at :00 and :30 of every hour.
How do I schedule something for weekdays only?
Set the day-of-week field to 1-5 (Monday through Friday). For 9 AM weekdays: 0 9 * * 1-5.
Is Sunday 0 or 7?
Both — most cron systems accept 0 or 7 for Sunday. Monday is 1 through Saturday is 6. This tool uses 0 for Sunday.
What's the most frequent cron can run?
Standard cron runs at most once per minute (* * * * *). For sub-minute schedules you need a different mechanism, since cron's smallest unit is the minute.