How to use Cron expression explainer
- Paste only five fields in this order: minute, hour, day-of-month, month, day-of-week. Leave out the command and any seconds field.
- Use numbers, *, comma lists, ascending ranges, */step, or range/step. Select Process input to check bounds and expand the selected values.
- Read the day rule carefully: under Unix/Cronie semantics, two restricted day fields use OR. Steps restart inside their field.
- Check your actual scheduler's time zone, dialect, and daylight-saving behavior before installing a job elsewhere. This page schedules nothing.
The supported five fields
Minutes range from 0 to 59, hours from 0 to 23, days of the month from 1 to 31, and months from 1 to 12. Days of the week range from 0 to 7; both 0 and 7 mean Sunday. The output uses a 24-hour clock and English month and weekday names.
This subset accepts *, single integers, comma lists of integers or ranges, ascending inclusive ranges, wildcard steps, and range steps. A wildcard must stand alone or have its own step; mixing a wildcard into a comma list is unsupported. A single integer followed by a step is also unsupported: write an explicit range instead.
Read steps and day rules accurately
A step selects positions inside its own field. For example, */35 in the minute field selects minute 0 and minute 35 of each matching hour. It does not mean waiting 35 elapsed minutes after the previous run. A range such as 9-17/2 selects hours 9, 11, 13, 15, and 17.
When neither day field uses a wildcard, Unix/Cronie matches the day of the month OR the day of the week. For example, 30 9 1,15 * 1 means 09:30 on the first or fifteenth of a month, plus Mondays. Wildcard steps retain Cronie's wildcard day behavior, so a stepped day-of-month and a restricted weekday can require both conditions.
A valid expression is not a running job
These five fields contain no time-zone setting. A Cronie table may use CRON_TZ; otherwise scheduling follows its actual configuration. This page cannot discover your server's zone. Calendar validity, daylight-saving gaps or repeated local times, process availability, and scheduler-specific handling can affect execution.
This tool explains selected field values. It does not calculate a next-run date, inspect an installed crontab, validate a command, or create any scheduled task. Other cron engines may add seconds or a year field, or use different day matching rules.
Unsupported dialects and local processing
Aliases and macros such as @daily, textual month or weekday names, Quartz ?, L, W and # operators, and Cronie random ranges using ~ are outside this tool's subset. Commands, environment assignments, and complete crontab files are rejected. Each field may contain up to 256 list entries; the total input limit is 200,000 UTF-16 units.
The interpreter runs in the browser as a deterministic text function. It makes no scheduling request, launches no shell, uploads no expression to a conversion server, and saves no conversion history.
Which format do you need?
| Your next task | Input or choice | Output or result |
|---|---|---|
| Read an existing expression | Five numeric fields encode selected times and dates. | The explanation expands values and describes matching rules. |
| Find the next execution time | Requires an actual time zone, calendar, and scheduler dialect. | This tool does not calculate a next-run date. |
| Create a scheduled job | Needs installation in your authorized scheduler. | No job is installed, started, or changed. |
Questions about this tool
Does this page schedule a task?
No. It explains a text expression. It does not install a crontab, run a command, or create a recurring task.
What time zone does the expression use?
The five fields do not specify a zone. Check your scheduler configuration or Cronie CRON_TZ setting. This page cannot know that setting.
Does */35 mean every 35 elapsed minutes?
No. In the minute field it selects minute 0 and minute 35 of each matching hour. Steps reset at the field boundary.
Are day-of-month and day-of-week joined with AND?
When both fields are restricted without wildcards, Unix/Cronie uses OR: either may match. Wildcard and wildcard-step cases follow the displayed matching rule. Other scheduler dialects may differ.
Can I paste @daily or a six-field expression?
No. This subset accepts exactly five numeric fields, with supported wildcards, lists, ranges, and steps. Named aliases, macros, seconds fields, and Quartz-specific operators are rejected.
Does valid syntax guarantee a run?
No. Valid dates, time-zone and DST handling, installed scheduler state, and the actual command still matter. The explanation does not calculate or guarantee execution.