Cron Expression Generator
Developer Tools · Added 18 August 2026
Build a cron schedule field by field, or paste an existing expression and have it read back to you in plain English with its next run times. The tool also flags the trap that catches almost everyone: when both the day-of-month and day-of-week fields are set, cron runs when either matches, not both.
Schedule
Cron expression
*/15 * * * *
Every 15 minutes every day.
- Runs per day
- 96
- Roughly
- every 15 min
- Time zone
- local
Your browser's — the server's may differ
Shorthand equivalents
No standard shorthand matches this schedule. The macros are @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly.
Run times are calculated in your browser's time zone. A cron daemon uses the server's, and containers frequently run in UTC regardless of where they are deployed — check TZ or the scheduler's own time zone setting before trusting a specific clock time.
How to use the cron expression generator
- 1Choose Build to fill in the five fields, or Explain to paste an existing expression.
- 2Start from a preset if one is close to what you need, then adjust.
- 3Read the plain-English description to confirm it means what you intended.
- 4Check the next run times — they are computed in your browser's time zone.
- 5Copy the expression into your crontab, CI configuration or scheduler.
Examples
Weekdays at 9am
- Input
- 0 9 * * 1-5
- Result
- At 9:00am on Monday, Tuesday, Wednesday, Thursday and Friday.
Every fifteen minutes
- Input
- */15 * * * *
- Result
- Every 15 minutes — 96 runs a day
The either/or trap
- Input
- 0 0 1 * 1
- Result
- Runs on the 1st of the month OR every Monday — about 56 times a year, not 12
Almost nobody means this. Leave one of the two day fields as * unless you want the union.
About the cron expression generator
Why cron syntax is worth ten minutes
Cron has scheduled the world's background work since 1975, and the five-field syntax has outlived several generations of tooling built to replace it. Kubernetes CronJobs, GitHub Actions, systemd timers, most CI systems and most managed schedulers all accept it, which means the syntax is worth understanding once rather than looking up every time.
The syntax is also unforgiving in a specific way: a wrong expression is still a valid one. There is no error to catch, just a job that runs at the wrong time or a hundred times more often than intended. Reading the schedule back in English before you commit it is the cheapest possible check.
Steps, ranges and the ones that do not wrap
A step applies to a range: */15 in the minute field means every 15 minutes starting from 0, and 0-30/5 means every 5 minutes in the first half hour only. A step on a bare number is unusual and means 'from here to the end of the range', so 5/10 in the minute field is 5, 15, 25, 35, 45, 55.
Ranges do not wrap around. 22-2 in the hour field is not 10pm to 2am — it is an error, because the start is after the end. The way to express an overnight window is a list of two ranges: 22-23,0-2.
Before you deploy the schedule
Three things worth checking beyond the syntax. First, whether the job is safe to run twice — schedulers retry, clocks change, and a job that assumes exactly-once delivery will eventually be wrong. Second, whether it is safe to overlap: cron starts a new run on schedule regardless of whether the previous one has finished, and a slow job on a tight schedule can pile up until the machine falls over. A lock file is the usual answer.
Third, where the output goes. Classic cron mails stdout to the user and silently discards it if no mailer is configured, which is how a job can fail every night for months without anyone noticing. Redirect the output somewhere you will actually see it, and make failure loud.
Frequently asked questions
What do the five fields mean?
Why does setting both day fields run more often than expected?
Which time zone do the next run times use?
What happens during a daylight saving change?
Does it support seconds, or the L and # characters?
What are @daily and @reboot?
Related tools
Timestamp Converter
Developer Tools
Convert Unix timestamps to human dates and back, in local time and UTC.
Time Zone Converter
Converters
Convert a date and time between any two cities, with daylight saving handled for that date.
Time Converter
Converters
Convert seconds, minutes, hours, days, weeks, months and years.