* to match every value for this field.
* to match every value for this field.
The I7 Pixel Cron Expression Builder removes the guesswork from scheduling. Whether you're a seasoned sysadmin or writing your first crontab entry, every feature is designed for instant clarity.
The builder is designed to be operable in under 30 seconds. Follow these steps or jump straight to a preset and customise from there.
A standard cron expression consists of five space-separated fields: minute hour day-of-month month day-of-week. Each field accepts a number within its valid range, a wildcard * (every value), a comma-separated list like 1,3,5, a range like 1-5, or a step like */10. Day-of-week accepts 0–7 where both 0 and 7 represent Sunday, maintaining compatibility across platforms. Month names (JAN–DEC) and day abbreviations (SUN–SAT) are accepted by some implementations but numeric values are universally portable.
The slash / character defines a step value. */5 in the minute field means "every 5 minutes" — equivalent to listing 0,5,10,15,20,25,30,35,40,45,50,55. You can also anchor a step: 10/15 means "starting at minute 10, every 15 minutes" producing 10, 25, 40, 55. Step expressions significantly shorten what would otherwise be long comma lists and are supported across all major cron implementations.
When both dom and dow are restricted (neither is *), most Unix cron implementations use OR logic — the job runs if either condition is true. For example 0 0 1 * 1 fires on the 1st of each month AND every Monday. This is a common source of scheduling surprises. If you only want day-of-week logic, leave dom as *, and vice versa.
Quick reference for each field's allowed values, syntax characters and common examples.
| Field | Position | Allowed Range | Special Values | Example | Meaning |
|---|---|---|---|---|---|
| Minute | 1st | 0 – 59 | * , - / |
*/15 |
Every 15 minutes |
| Hour | 2nd | 0 – 23 | * , - / |
9-17 |
Every hour from 9 AM to 5 PM |
| Day of Month | 3rd | 1 – 31 | * , - / |
1,15 |
On the 1st and 15th |
| Month | 4th | 1 – 12 | * , - / |
3-6 |
March through June |
| Day of Week | 5th | 0 – 7 (0 & 7 = Sun) | * , - / |
1-5 |
Monday through Friday |
| @yearly | Alias | — | ≡ 0 0 1 1 * |
@yearly |
Once a year, Jan 1 at midnight |
| @monthly | Alias | — | ≡ 0 0 1 * * |
@monthly |
First day of each month |
| @weekly | Alias | — | ≡ 0 0 * * 0 |
@weekly |
Every Sunday at midnight |
| @daily | Alias | — | ≡ 0 0 * * * |
@daily |
Every day at midnight |
| @hourly | Alias | — | ≡ 0 * * * * |
@hourly |
Beginning of every hour |
| @reboot | Alias | — | Run once at startup | @reboot |
After each system boot |
From server administrators to frontend developers configuring CI pipelines — cron expressions appear across the entire software stack.
->cron() method, WordPress WP-Cron custom intervals, or Symfony Scheduler component rules.*, a range (1-5), a comma list (1,3,5) or a step value (*/10)./ defines a step (interval). */5 in the minute field means "every 5 minutes": 0, 5, 10 … 55. You can anchor it with a starting value: 10/15 means "starting at minute 10, every 15 minutes" — giving 10, 25, 40, 55. Use the Step mode tab in the field editor and fill in the Start and Every inputs.1-5 (Monday = 1, Friday = 5) and leave Day of Month as *. For example 0 9 * * 1-5 runs every weekday at 9:00 AM. Click the Day/Week segment, choose Range mode, and enter 1 as the start and 5 as the end. Or use the "Weekdays 9am" preset.? instead of * for unused dom/dow fields. Always verify against the target platform's documentation.@yearly → 0 0 1 1 *, @monthly → 0 0 1 * *, @weekly → 0 0 * * 0, @daily → 0 0 * * *, @hourly → 0 * * * *. @reboot runs once at system startup and has no numeric equivalent. Not all platforms support aliases — check before using in production.