Cron Expression Generator
This cron expression generator builds a schedule field by field, shows the next run times, and writes the result for Linux, Kubernetes, GitHub Actions, AWS EventBridge, Vercel or Quartz.
Starting points
Linux five-field expressions. Choose one to load it into the generator above.
How the cron expression generator works
Start from what you want to happen instead of from the syntax. Choose a schedule type, set the time with the dial or by typing it, and the expression, a plain sentence and the next run times update together. The raw fields stay editable: change one and the options on the left follow, as long as the result can be shown that way.
The platform setting changes the output, not the schedule. AWS EventBridge gets six fields with a ? where required, Quartz gets a seconds field, and Kubernetes gets a CronJob snippet with spec.timeZone. GitHub Actions, Vercel and EventBridge rules run in UTC, so your time is converted and you are warned when daylight saving time will change it.
Cron expression builder: set each field
If you already think in fields, use the builder directly. Each of the five fields (six on EventBridge and Quartz) has its own control, so you can pick minutes, hours, days and months without typing a symbol. Change a control and the expression updates; edit the expression and the controls follow as long as they can show it. For what the symbols mean, see the crontab syntax reference.
When a platform cannot do what you asked
If the schedule cannot be written for the platform you chose, the generator says which part is not supported and shows the closest schedule that is. It does not quietly hand you something different.
Common schedules
| Goal | Linux expression | Check before you ship |
|---|---|---|
| Every 5 minutes | */5 * * * * | The job should finish well inside 5 minutes, or runs will overlap. |
| Weekdays at 9 AM | 0 9 * * 1-5 | Which time zone is 9 AM in? On UTC platforms it is 9 AM UTC. |
| Monthly at 2 AM on the 1st | 0 2 1 * * | Pick a quiet hour and alert on failure. |
| Last day of the month | not possible in plain cron | Quartz and EventBridge use L. Elsewhere, schedule daily and check the date in the job. |
Frequently asked questions
? in one day field, Quartz starts with a seconds field, and Vercel and GitHub Actions run in UTC by default. CronWave rewrites the same schedule for each one. When a platform cannot express your schedule it says so and shows the closest schedule it can.spec.timeZone) and Quartz can follow a named zone.L). The generator flags these cases.Related tools
Guides and references
Learn the syntax behind the fields.
Platform guides
The same schedule, written for the platform you deploy to.
Common schedules
Ready-made schedules with next runs.