Cron Expression Builder
Build a cron expression just by picking minute, hour, day, month and weekday from dropdowns and number inputs. Preview the generated cron string, a plain-English description, and the next 5 run times instantly — handy for writing a crontab or GitHub Actions schedule.
Quick reference for common schedules
A list of cron expressions for typical schedules. Click a row to apply it as a preset in the builder above.
| Preset | Cron expression | Meaning |
|---|---|---|
| Daily at midnight | 0 0 * * * | Runs daily at midnight (00:00). |
| Weekdays at 9 AM | 0 9 * * 1-5 | Runs at 9:00 on weekdays (Monday through Friday). |
| Hourly at minute 0 | 0 * * * * | Runs once an hour, at minute 0. |
| Every Monday | 0 0 * * 1 | Runs every Monday at midnight (00:00). |
Tips
- Setting the day-of-week field to "Range" mode from 1 to 5 gives you Monday through Friday in one step.
- "List" mode lets you enter several values separated by commas — e.g. entering "0,15,30,45" for the minute field is equivalent to running every 15 minutes.
- If both the day-of-month and day-of-week fields are set to anything other than "Every (*)", standard cron treats them as an OR condition — the job runs when either one matches.
- The generated cron string can be copied to your clipboard with the "Copy" button, ready to paste straight into a crontab or a GitHub Actions YAML file.
- Click a preset button, or a row in the quick reference table below, to apply a common schedule to the builder in one click.
Frequently Asked Questions
Side Note — Why Writing a Cron Expression Is Harder Than Reading One
A cron expression looks simple once you know its 5 fields, but writing one by hand means recalling details like whether "*/15" or "1-30/5" is the right form, or whether weekdays start at 0 or 1 — details that are surprisingly easy to get wrong. Reading an existing cron expression (the job of this site's Cron Expression Parser) is comparatively mechanical, since you just walk through the fields one by one.
This tool is built around that asymmetry: it supports the act of building a cron expression from UI selections rather than typing raw syntax. You express your intent directly — "run at 9 AM on weekdays" — through dropdowns and number inputs, and the tool assembles a cron expression that satisfies it, removing the need to memorize the syntax altogether.
As a final sanity check, the tool previews the next 5 scheduled run times for the expression you just built. This matters especially because of a subtle rule that trips people up: when both the day-of-month and day-of-week fields are restricted, cron treats them as an OR condition rather than an AND. Seeing the actual candidate dates helps catch a job that would otherwise run more often than intended.