A visual cron expression builder that turns the cryptic five-field cron syntax into something you can actually see and check. Pick when a job should run — by minute, hour, day of the month, month and day of the week — and the tool writes the correct cron string, explains it in plain English, and shows you the next eight times it will actually fire. It works the other way too: paste an existing expression from a crontab, a Kubernetes CronJob, a GitHub Actions workflow or an AWS EventBridge rule and the builder decodes it back into editable controls so you can understand and adjust it with confidence.
Cron is everywhere in infrastructure, but its terseness is a notorious source of bugs — a single misplaced asterisk can turn “9am on weekdays” into “every minute, all day”. This tool removes the guesswork by giving you live feedback at every step, so the schedule you ship is the schedule you meant.
How it works
Every cron expression is five space-separated fields, read left to right: minute (0-59),
hour (0-23), day-of-month (1-31), month (1-12) and day-of-week (0-6, Sunday is 0).
Each field accepts an asterisk for “every value”, a step such as */15 for “every fifteenth”,
a range such as 1-5 for “Monday to Friday”, or a comma-separated list such as 1,4,7,10.
For each field you choose one of four modes — Every, Every N, Specific or Range — and the builder assembles the tokens into a valid expression. To compute the schedule it parses that expression into concrete sets of matching values, then steps forward one minute at a time from the current moment, checking month, then day, then hour, then minute, until it has collected the next eight matches. When both the day-of-month and day-of-week fields are restricted it follows the standard cron OR rule, where a match on either day counts. Impossible schedules — like the 30th of February — are detected and reported instead of looping forever.
Example
Suppose you want a backup job to run every weekday at 6:30pm. Set the minute field to the
Specific value 30, the hour field to 18, leave day-of-month and month as Every, and set
day-of-week to the Range Mon-Fri. The builder produces:
30 18 * * 1-5
The description reads “At 18:30, on Monday, Tuesday, Wednesday, Thursday and Friday”, and the next-runs panel lists the upcoming eight evenings with how far away each one is.
| Goal | Expression |
|---|---|
| Every 5 minutes | */5 * * * * |
| Hourly on the hour | 0 * * * * |
| Daily at midnight | 0 0 * * * |
| Weekdays at 9am | 0 9 * * 1-5 |
| 1st of every quarter | 0 0 1 1,4,7,10 * |
Everything is computed locally in your browser — no expression, schedule or run time is ever uploaded or stored on a server.