Skip to content

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
FieldValues used by the local toolExample
Minute0–5930 means half past
Hour0–2315 means 3 pm
Day of month1–311 means the first
Month1–121 means January
Day of week0–6, Sunday is 01 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

ExpressionMeaning in the scheduler’s zone
0 3 * * 1Monday 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-5Hourly 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.