What Does * * * * * Mean in Cron? All 5 Fields Explained
* * * * * is the most permissive cron expression — it means "run every single minute." But understanding why requires knowing what each of the five fields actually does. This guide gives you the complete picture.
The 5 fields at a glance
Every cron expression has exactly five space-separated fields. Each one controls a different time unit:
An asterisk (*) in any field means "every value in that field's range." So * * * * * means every minute, every hour, every day of the month, every month, and every day of the week — in other words, every minute without exception.
Field 1: Minute (0–59)
Controls which minute(s) within each hour the job runs. 0 means the job runs at exactly the top of the hour. 30 means at the half-hour mark. * means every minute.
0 * * * * # runs at :00 of every hour 30 * * * * # runs at :30 of every hour * * * * * # runs every minute
Field 2: Hour (0–23)
Controls which hour(s) of the day the job runs. Uses 24-hour format — 0 is midnight, 12 is noon, 23 is 11 PM. * means every hour.
0 9 * * * # runs at 9:00 AM every day 0 0 * * * # runs at midnight every day 0 * * * * # runs at the top of every hour
Field 3: Day of Month (1–31)
Controls which day(s) of the month the job runs. 1 is the first day of the month, 31 is the last (if it exists). * means every day.
0 0 1 * * # runs at midnight on the 1st of every month 0 0 15 * * # runs at midnight on the 15th of every month
Field 4: Month (1–12)
Controls which month(s) the job runs in. January is 1, December is 12. * means every month. You can also use abbreviated names like JAN, FEB, etc. in some systems.
0 0 1 1 * # runs once a year, January 1st at midnight 0 0 * 12 * # runs every day in December
Field 5: Day of Week (0–6)
Controls which day(s) of the week the job runs. Sunday is both 0 and 7 (most systems accept either). Monday is 1, Saturday is 6. * means every day of the week.
0 9 * * 1 # runs at 9 AM every Monday 0 9 * * 1-5 # runs at 9 AM Monday through Friday 0 10 * * 0 # runs at 10 AM every Sunday
Cron special characters cheat sheet
| Character | Meaning | Example |
|---|---|---|
| * | Every value (wildcard) | * = every minute/hour/etc. |
| , | List of values | 1,15,30 = at minutes 1, 15, and 30 |
| - | Range of values | 1-5 = Monday through Friday |
| / | Step value | */15 = every 15 units |
Common cron expressions decoded
| Expression | Plain English |
|---|---|
| * * * * * | Every minute |
| 0 * * * * | Every hour, at :00 |
| 0 0 * * * | Every day at midnight |
| 0 9 * * 1-5 | 9 AM on weekdays |
| */15 * * * * | Every 15 minutes |
| 0 0 1 * * | First of every month, midnight |
| 0 0 1 1 * | Once a year, Jan 1 at midnight |
| 0 0 * * 0 | Every Sunday at midnight |
Cron aliases (@daily, @weekly, etc.)
Many cron implementations support special alias strings that expand to a full expression:
@yearlyor@annually→0 0 1 1 *@monthly→0 0 1 * *@weekly→0 0 * * 0@dailyor@midnight→0 0 * * *@hourly→0 * * * *@reboot→ runs once at system startup
Not sure what your cron expression does? Paste it in and get an instant explanation.
Open Cron Explainer →