Skip to main content

Cron Generator

Build and explain cron expressions — see what a schedule means and when it runs next.

Runs in your browser — your data never leaves your deviceFree, no sign-up
Common presets

How it works

The expression is parsed field by field — supporting *, ranges, lists, steps (*/15, 9-17/2), month and day names, and the @daily-style macros. Each field’s exact set of allowed values is shown in the breakdown, so nothing is left to interpretation.

The next five run times are then computed minute by minute from your device’s clock, honouring the classic Vixie “day-of-month OR day-of-week” rule.

Features

  • Full 5-field syntax: ranges, lists, steps, names
  • @yearly / @monthly / @weekly / @daily / @hourly macros
  • Plain-English explanation of any expression
  • Field-by-field value breakdown
  • Next 5 run times, UTC and your local time
  • Common presets one click away

How to use

  1. Type an expression or click a preset.
  2. Press Explain & schedule.
  3. Read the explanation, check the field breakdown, and confirm the next run times match your intent.

Example

Expression: */15 9-17 * * 1-5
Meaning:    every 15 minutes, between 09:00 and 17:59, Monday to Friday.

Frequently asked questions

What are the five fields of a cron expression?
In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12 or JAN–DEC), and day of week (0–6 or SUN–SAT, where 0 is Sunday). Each field can be * (every), a single value, a range (9-17), a list (1,15), a step (*/15), or combinations (9-17/2 means every 2 hours from 9 to 17).
What does the 'or' behavior between day of month and day of week mean?
A classic cron gotcha: if both day-of-month and day-of-week are restricted (not *), the job runs when EITHER matches — not only when both do. So '0 0 1 * 1' fires on the 1st of the month AND every Monday. To get AND semantics, use a wrapper script that checks the date itself.
Do the times shown account for time zones and daylight saving?
This tool computes next runs in UTC and also shows them in your browser's local time zone for readability. Real cron daemons interpret the expression in the server's time zone, and during daylight-saving transitions some local times occur twice or not at all — verify against the server's zone.
Does cron support seconds?
Standard 5-field cron (Vixie cron, Linux crontab) does not — the smallest unit is one minute. Quartz (Java) and some cloud schedulers use a 6- or 7-field variant with a leading seconds field. This tool validates the standard 5-field syntax.
Why does my expression never fire?
The most common case is an impossible date, like day 31 in February (0 0 31 2 *). If no run is found within a year, this tool says so explicitly instead of showing empty results.
Is my data sent to a server?
No. Parsing, explanation and next-run computation all happen in your browser. Nothing you enter is transmitted anywhere — you can verify this in your browser's network inspector.