Developer Tools
Cron Expression Generator
Pick minute, hour, day, month, and weekday with dropdowns and get a valid cron expression, a plain-English description, and the next five run times. Standard 5-field and Spring 6-field modes included. Everything runs in your browser.
Tips: * every value · */5 every 5 · 9-17 range · 1,15 list · MON-FRI names.
Cron expression
Next 5 run times
What makes this tool different
Visual cron builder
Build schedules with dropdowns — no memorizing syntax. Values are validated as you pick.
Plain-English description
See your cron expression translated into a readable sentence, like "At 09:15 on day 1 of the month".
Next run preview
Preview the next five execution times so you know exactly when your job will fire.
Standard + Spring modes
Switch between 5-field Unix cron and 6-field Spring cron with seconds support.
About this tool
Cron Expression Generator: everything you need to know
Cron is how the world schedules jobs — database backups, cache clears, report emails, and monitoring runs all depend on getting the expression right. But cron syntax is famously terse: 0 */6 * * * may look obvious until you need 0 0 1 * * or 0 9 * * 1 and realize a wrong field means a job that never fires, or fires every minute.
This cron expression generator removes the guesswork. Build each field with dropdowns — every value, specific values, ranges, lists, and step values like */15 — and the tool assembles the expression live, explains it in plain English, and previews the next five run times so you see exactly when the job will execute.
Two formats are supported. The standard 5-field Unix cron (minute, hour, day of month, month, day of week) covers crontab, GitHub Actions schedules, and most Linux tooling. Spring's 6-field format adds a leading seconds field for @Scheduled annotations in Java and Kotlin applications.
Because the tool computes next run times in the browser, you can validate a schedule before deploying it. Confirm that a "monthly" job really fires on the first of the month and that a "weekday at 9am" job skips weekends — no deploying first and fixing later.
The generated expression works with crontab, cronies in Kubernetes, GitHub Actions, GitLab CI schedules, and Spring's @Scheduled. Paste it into your configuration and the preview gives you confidence it matches the intent.
Privacy is built into the design. All scheduling math happens locally in your browser — no expressions are sent anywhere. Open the DevTools Network tab and you will see zero requests.
FAQ
Cron Expression Generator — frequently asked questions
What is a cron expression?
A cron expression is a string that describes when a scheduled job runs. The standard Unix format has five fields — minute, hour, day of month, month, day of week — and each field can be a specific value, a range, a list, or a step like */5. Spring adds a leading seconds field.
How do * , */n, ranges, and lists work in cron?
* means every value in the field. */n means every nth value (so */5 in minutes is every 5 minutes). A range like 9-17 covers all values in between, and a list like 1,15 picks specific values. These combine into schedules like "0 9-17 * * MON-FRI".
Standard cron (5 fields) vs Spring cron (6 fields)?
Unix cron uses 5 fields: minute hour day-of-month month day-of-week. Spring's @Scheduled cron adds a seconds field at the start, making 6 fields. Spring also supports names like MON and macros such as @daily, @hourly, and @monthly.
How can I describe a cron expression in plain English?
Read each field left to right: the minute, the hour, the day of month, the month, and the day of week. This tool translates the whole expression into a readable sentence and shows the next run times, so you can confirm the schedule without mental math.
How do I compute the next run times?
Walk forward minute by minute from now, testing each timestamp against the five fields until the required number of matches is found. This tool does that live and shows the next five runs for any expression you build.
What does @daily, @hourly, @reboot mean?
These are cron macros: @daily is 0 0 * * *, @hourly is 0 * * * *, @monthly is 0 0 1 * *, @weekly is 0 0 * * 0, and @reboot runs once at startup. Some tools (like Spring) also accept @yearly, @annually, and @midnight.
How do I write a cron for "every Monday at 9am"?
Use 0 9 * * 1 for standard cron (Monday is day 1) or 0 0 9 * * 1 in Spring's 6-field format. In this builder, set minute 0, hour 9, day of week Monday, and it generates the expression plus a preview of upcoming Monday 9am runs.
Is the cron expression generator free and private?
Yes. OpenToolLab's cron generator is completely free, requires no signup, and computes everything in your browser — your schedules never leave your device.
Keep exploring