Cron Expression Builder
Use this tool to visually construct any cron expression field by field — no memorization required. Each field offers five modes: Every (wildcard *), Specific (pick exact values), Range (from–to), Step (*/N), and Custom (free-form input). The generated expression updates in real time along with a plain-English description and the next five execution times.
Cron Field Reference
| Field | Position | Range | Notes |
|---|---|---|---|
| Minute | 1 | 0–59 | |
| Hour | 2 | 0–23 | |
| Day of Month | 3 | 1–31 | |
| Month | 4 | 1–12 | JAN–DEC names accepted |
| Day of Week | 5 | 0–7 | 0 and 7 both = Sunday |
| Seconds | 0 (opt.) | 0–59 | 6-field cron only |
Common Patterns
| Expression | Meaning |
|---|---|
* * * * * | Every minute |
*/15 * * * * | Every 15 minutes |
0 * * * * | Once per hour |
0 9 * * * | Every day at 09:00 |
0 9 * * 1-5 | Weekdays at 09:00 |
0 9 * * 1 | Every Monday at 09:00 |
0 0 1 * * | First of every month at midnight |
0 0 1 1 * | Once per year (January 1st) |
Field Modes Explained
Every (*) matches all values in the field’s range — the job runs regardless of this field’s value.
Specific lets you choose one or more exact values. Multiple selections produce a comma-separated list, e.g. 1,15,30,45.
Range (from–to) matches every value between the two numbers, inclusive. Use 1-5 in the Day-of-Week field to target Monday through Friday.
Step (*/N) runs at every N-th value starting from the minimum. */5 in minutes means the job fires at :00, :05, :10, … :55.
Custom accepts any valid cron field string — useful for patterns like 1-5/2 (odd minutes between 1 and 5) or MON,WED,FRI.
Using the Generated Expression
Copy the expression and paste it into your crontab with crontab -e, or use the ready-made snippet EXPRESSION /path/to/script.sh. You can also use it with systemd timers, GitHub Actions schedules, AWS EventBridge, or any cron-compatible scheduler.