Cron Builder

Build or parse any cron schedule. Human-readable description + next 5 runs preview.

Standard UNIX 5-field cron only. Quartz 7-field syntax (seconds + year) used by Spring/Jenkins is NOT supported — use a Quartz-specific tool for that.
0 9 * * 1-5

Runs at 9:00 AM, Mon through Fri

1Wed, Apr 22, 09:00 a.m.
2Thu, Apr 23, 09:00 a.m.
3Fri, Apr 24, 09:00 a.m.
4Mon, Apr 27, 09:00 a.m.
5Tue, Apr 28, 09:00 a.m.

Note: the parser handles *, single values, steps (*/N), and ranges (A-B). Comma-separated lists (1,3,5) are not yet supported.

How the Cron Builder Works

Builder mode lets you edit each of the 5 cron fields (minute, hour, day-of-month, month, day-of-week) independently. Each field accepts a wildcard (*), a single value, a step (*/N), or a range (A-B). The expression is assembled live and a human-readable sentence is generated from the field values.

Parse mode lets you paste an existing cron expression and immediately see its human-readable description and the next 5 scheduled runs computed from your browser's current time. The next-runs algorithm handles wildcards, single values, steps, and ranges — computed by scanning forward minute by minute from now.

Reference

The cron expression syntax implemented here follows POSIX.1-2017 Section 4 — crontab (IEEE Std 1003.1-2017, pubs.opengroup.org). POSIX defines the 5-field format: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), and day-of-week (0–6, 0 = Sunday). The step extension */N is widely supported but technically a non-POSIX extension implemented by most cron daemons (Vixie cron, systemd, etc.).

What's here — and what's not

Builder mode with 5 editable fields. Parse mode for existing expressions. 8 common presets. Human-readable description sentence. Next-5-runs preview (from current browser time) for wildcards, single values, steps (*/N), and ranges (A-B). Copy button for the expression.

What isn't here: Quartz 7-field cron syntax (seconds + year) — this is UNIX 5-field only. Comma-separated lists (1,3,5) in the next-runs calculator — these are v2. The Quartz format used by Spring Scheduler, Jenkins, and Quartz.NET is a distinct system not compatible with UNIX crontab. For Quartz, use a Quartz-specific tool.

Frequently Asked Questions

What do the 5 cron fields mean?
From left to right: (1) Minute — 0 to 59. (2) Hour — 0 to 23. (3) Day-of-month — 1 to 31. (4) Month — 1 to 12. (5) Day-of-week — 0 to 6, where 0 is Sunday and 6 is Saturday (some systems accept 7 as Sunday too). A wildcard (*) means 'every possible value for this field'.
What does */15 mean in a cron field?
The */N syntax is a step value. */15 in the minute field means 'every 15 minutes' — i.e. at minutes 0, 15, 30, and 45. */2 in the hour field means 'every 2 hours' — at 0:00, 2:00, 4:00, etc. Steps are a widely supported extension to POSIX cron.
What is the difference between UNIX cron and Quartz cron?
UNIX cron (POSIX.1-2017) has 5 fields: minute, hour, day-of-month, month, day-of-week. Quartz cron (used by Spring Scheduler, Jenkins, Quartz.NET) has 7 fields: seconds, minutes, hours, day-of-month, month, day-of-week, year. Additionally, Quartz uses 1–7 for day-of-week (1=Sunday) instead of 0–6. These two systems are NOT compatible. This tool only handles UNIX 5-field cron.
How do I run a job every weekday at 9 AM?
Use the expression: 0 9 * * 1-5. This means: minute 0, hour 9, any day-of-month, any month, Monday through Friday (1–5). You can click the 'Weekdays 9am' preset button to set this automatically.
Where is the cron specification documented?
The authoritative specification is POSIX.1-2017 (IEEE Std 1003.1-2017), Section 4 — crontab, available at pubs.opengroup.org/onlinepubs/9699919799/utilities/crontab.html. The step extension (*/N) is not in the POSIX spec itself but is documented in the man pages of common cron daemons: Vixie cron (man 5 crontab on most Linux distributions) and systemd's systemd.time (7).