Cron Expression Generator
Build a five-field cron expression visually and copy it, with a plain-English summary and the next run times shown in your browser.
Your cron expression is built and previewed locally in your browser and nothing is uploaded to a server.
Need to decode an existing schedule? Try the Cron Explainer.
About Cron Expression Generator
This cron expression generator lets you build a five-field crontab schedule visually instead of memorizing syntax. For each field — minute, hour, day-of-month, month, and day-of-week — you pick a mode: every value, every N (a step), specific values from a multi-select, or a range. The expression updates live as you click, and month and weekday pickers show names like Jan and Mon while emitting the correct numbers. Below the result you get the generated expression with a copy button, a plain-English summary, and the next five run times in your local timezone, so you can confirm the schedule before pasting it into a crontab, CI config, or scheduler. One-click presets cover common cases like every five minutes, weekdays at 9am, and monthly. Everything runs in your browser, so nothing you build is uploaded to a server.
Features
- Build each cron field with one of four modes: every, every N (step), specific values, or a range
- Multi-select specific minutes, hours, days, months, or weekdays as a comma list
- Month and day-of-week pickers show names (Jan–Dec, Sun–Sat) but emit the standard numbers
- The expression updates live as you adjust any field — no generate button
- Plain-English summary of the schedule so you can confirm intent at a glance
- Preview of the next five run times rendered in your local timezone
- One-click presets for every minute, every 5 minutes, hourly, daily, weekdays 9am, weekly, and monthly
- Copy the finished expression with one click
How to use the Cron Expression Generator
- Pick a mode for each field, or click a preset to start from a common schedule.
- For Specific, tap the values you want; for Range, choose a from and to; for Every N, enter a step.
- Watch the cron expression update live as you change fields.
- Read the plain-English summary and the next five run times to confirm the schedule.
- Click Copy to grab the expression and paste it into your crontab or scheduler.
Example
Input
minute: specific [0]
hour: specific [9]
day-of-month: every
month: every
day-of-week: range Mon–Fri
Output
0 9 * * 1-5
Building a weekday 9am schedule field by field produces this expression.
Common errors & troubleshooting
- A Range shows as * because the from value is after the to value. — Set the from value lower than the to value (for example 9 to 17); a reversed range cannot be expressed, so the field falls back to every.
- A Specific field still reads * even though you selected the mode. — Pick at least one value chip; with nothing selected the field stays as every (*) so the expression remains valid.
- Both day-of-month and day-of-week are restricted and the job fires more often than expected. — Standard cron runs when either day field matches (OR logic), so leave one set to every unless you truly need both.
- No upcoming run times appear for a rare combination. — The preview looks ahead one year; a month and day-of-month pairing like Feb 30 never occurs, so choose a reachable combination.
Frequently asked questions
- What do the five cron fields mean?
- In order they are minute, hour, day-of-month, month, and day-of-week. The generator builds one token per field and joins them with spaces to form the full expression.
- How do I run a job every 15 minutes?
- Set the minute field to Every N and enter 15, leaving the other fields as Every. The generator outputs */15 * * * * and previews the next run times.
- What is the difference between a step, a range, and specific values?
- A step like */5 repeats at a fixed interval, a range like 1-5 covers a continuous span, and specific values like 1,15 list exact points. Each maps to a field mode in the builder.
- Do I enter month and weekday names or numbers?
- You pick names such as Jan or Mon in the UI for clarity, and the generator emits the standard numbers (months 1-12, weekdays 0-6 with Sunday as 0) in the expression.
- How is this different from the Cron Explainer?
- The Explainer decodes an expression you already have, while this generator builds a new expression by clicking fields. Use this to create a schedule and the Explainer to verify one.
- Where does the generation happen?
- Entirely in your browser. The expression, summary, and run-time preview are all computed locally on your device and nothing is sent to a server.
Related tools
All ArrayKit tools