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:

*
Minute
0–59
*
Hour
0–23
*
Day
1–31
*
Month
1–12
*
Weekday
0–6

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.

cron
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.

cron
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.

cron
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.

cron
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.

cron
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

CharacterMeaningExample
*Every value (wildcard)* = every minute/hour/etc.
,List of values1,15,30 = at minutes 1, 15, and 30
-Range of values1-5 = Monday through Friday
/Step value*/15 = every 15 units

Common cron expressions decoded

ExpressionPlain English
* * * * *Every minute
0 * * * *Every hour, at :00
0 0 * * *Every day at midnight
0 9 * * 1-59 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 * * 0Every Sunday at midnight

Cron aliases (@daily, @weekly, etc.)

Many cron implementations support special alias strings that expand to a full expression:

  • @yearly or @annually0 0 1 1 *
  • @monthly0 0 1 * *
  • @weekly0 0 * * 0
  • @daily or @midnight0 0 * * *
  • @hourly0 * * * *
  • @reboot → runs once at system startup

Not sure what your cron expression does? Paste it in and get an instant explanation.

Open Cron Explainer →
← Previous
Cron Every 15 Minutes Explained
Next →
Run Cron Job Every Weekday at 9 AM