Cron Puzzles
A puzzle describes when something should run. Your job is the cron expression. The check is not string matching: your expression and the reference are both run forward from the same Monday midnight, and the next firings are compared. Any expression that fires at the same moments passes, however it is written.
Practises the Crontab Schedule Creator. Answers are checked here; nothing is sent anywhere.
Puzzle 1
Every minute
Fire every single minute of every day.
| # | Should fire | Yours fires |
|---|---|---|
| 1 | Mon, Jan 05 00:01 | |
| 2 | Mon, Jan 05 00:02 | |
| 3 | Mon, Jan 05 00:03 | |
| 4 | Mon, Jan 05 00:04 | |
| 5 | Mon, Jan 05 00:05 | |
| 6 | Mon, Jan 05 00:06 | |
| 7 | Mon, Jan 05 00:07 | |
| 8 | Mon, Jan 05 00:08 | |
| 9 | Mon, Jan 05 00:09 | |
| 10 | Mon, Jan 05 00:10 | |
| 11 | Mon, Jan 05 00:11 | |
| 12 | Mon, Jan 05 00:12 |
Both schedules start from Monday 5 January 2026, 00:00, in your local time.
The five fields
Minute, hour, day of month, month, day of week, in that order. A star means every value; a number pins one; a comma-separated list names several; a hyphen makes a range; a slash makes a step. Sunday is 0. When both the day-of-month and day-of-week fields are restricted, most cron implementations fire when either matches, and the checker here follows that rule.
| Field | Range |
|---|---|
| minute | 0–59 |
| hour | 0–23 |
| day of month | 1–31 |
| month | 1–12 |
| day of week | 0–6, Sunday is 0 |
How the check works
Both expressions are evaluated from Monday 5 January 2026 at 00:00 in your local time, and the next firings are listed side by side: between five and twelve of them, depending on how sparse the schedule is. The first one that differs is highlighted, which usually shows the mistake at once: an off-by-one in a range, a step that fires at minute 0 as well, a weekday list that included Sunday. Local time is used on both sides, so daylight-saving changes affect the reference the same way they affect you.
Traps worth knowing
- */45 in the minute field fires at 0 and 45, not every 45 minutes.
- Steps in the day-of-month field restart every month; */3 fires on the 1st, 4th, 7th of each month.
- A range 9-17 in the hour field includes 17:00 to 17:59 at whatever minutes the minute field allows.
- A list can be written in any order: 6,0 and 0,6 are the same schedule.
- The cron tool on this site explains any expression in plain words and lists its next runs, and it is a fair way to check an idea before submitting it.
Questions
- My expression is different from the hint but passes. Is that right?
- Yes. The check compares firings, not text. If yours fires at the same moments for the whole comparison window, it is a correct answer.
- Why is Sunday 0?
- Because that is what the original cron used. Some implementations also accept 7; this checker accepts what the site's cron parser accepts.