Cron syntax explained: check when a five-field schedule will run
Read a five-field cron expression, check steps and day matching, and understand the local preview's UTC times and supported syntax.
By ToolsNow · Published · updated
To schedule a job for 03:00 every Monday in a five-field cron system, use
0 3 * * 1. Before saving it, confirm the scheduler’s time zone and check
several upcoming dates. The expression specifies clock readings, not a
universal moment independent of the server.
The examples here use numeric five-field syntax. A platform with seconds, a year field or different day-matching rules needs its own documentation.
Read the five fields from left to right
minute hour day-of-month month day-of-week
0 3 * * 1
| Field | Values used by the local tool | Example |
|---|---|---|
| Minute | 0–59 | 30 means half past |
| Hour | 0–23 | 15 means 3 pm |
| Day of month | 1–31 | 1 means the first |
| Month | 1–12 | 1 means January |
| Day of week | 0–6, Sunday is 0 | 1 means Monday |
An asterisk means any value in that field. Lists select several values,
such as 0,30 for minutes. Ranges include both ends: 9-17 in the hour
field includes 09:00 through 17:00.
Steps select values within a field. */15 in minutes means 00, 15, 30
and 45. 9-17/2 in hours selects 9, 11, 13, 15 and 17.
Use these examples as clock schedules
| Expression | Meaning in the scheduler’s zone |
|---|---|
0 3 * * 1 | Monday at 03:00 |
*/15 * * * * | At minutes 00, 15, 30 and 45 of every hour |
30 8 1 * * | At 08:30 on the first of each month |
0 9-17 * * 1-5 | Hourly from 09:00 through 17:00, Monday–Friday |
0 0 1 1 * | At midnight on 1 January |
Monday–Friday matching does not exclude public holidays. That needs separate scheduling logic or a working-calendar feature in the platform.
An asterisk in minutes can mean sixty runs
* 3 * * * matches every minute from 03:00 through 03:59. For one daily
run at 03:00, use 0 3 * * *.
For hourly execution on the hour, 0 * * * * is the clear form. The
local parser also accepts */60 * * * * as minute zero, but that is an
unhelpful expression to carry between implementations.
Steps do not necessarily create a steady elapsed interval. */35 * * * *
matches minute 00 and minute 35 each hour: the gaps alternate between
35 and 25 minutes. It does not mean “wait 35 minutes after each run”.
The two day fields can match either condition
In the Vixie/Cronie-style rule, restricting both day-of-month and day-of-week means the job runs when either matches.
0 0 13 * 5
This runs at midnight on the 13th of each month and on Fridays. It is not limited to Friday the 13th. The Cronie crontab manual documents this behaviour.
The cron expression tool uses that OR rule for its next-run list. Its current English description misleadingly uses “and” when both day fields are restricted. Use the dates to check the meaning, and confirm it against the scheduler that will actually run the job.
Match the preview’s zone to the scheduler
The local preview lists run times in UTC. A server or hosted scheduler may use system-local time or a configured named zone instead.
Daylight-saving changes can create a missing or repeated local clock time, as explained in the time zone guide. Whether a scheduler skips, repeats or compensates for such a run depends on its implementation. A UTC schedule avoids DST ambiguity in its own clock, but its local hour can move for people observing daylight saving.
Know what the local parser can check
It accepts numeric values, asterisks, lists, ranges and steps in five
fields, with Sunday represented by 0. It does not accept month or
weekday names, Sunday as 7, macros such as @daily, or Quartz-style
seconds, year, ?, L or # syntax.
The preview searches only the next 366 days and returns up to five matches. An empty list is therefore not proof that an expression never runs: a 29 February schedule can be valid with its next match beyond that window.
Finally, cron syntax says when to start a command. It does not establish that the command succeeds, catches up after downtime or avoids overlapping an earlier run. Check those separately in the scheduler’s settings and execution logs.
Last reviewed 2 October 2026.
Published by ToolsNow. Read how tools and sources are checked.
Found a mistake or an outdated detail? Send a correction with the article title and the detail to review.