Developer · Browser tool
Cron expression generator with the next run times
Type or paste a five-field cron expression. It is read in plain English and the next 8 run times are listed as you type.
FreeNo account, no job limit, nothing uploaded
- Standard crontab syntax: steps (
*/5), ranges (1-5), lists (1,3,5) and names (JAN,MON) - Copy the bare expression or a full crontab line
- Pick fields from dropdowns and the expression is rewritten for you
- Warns when both day fields are set, because cron then runs on either one
Build it from dropdowns
Changing a dropdown rewrites the expression at the top. An expression a dropdown cannot show is kept as a custom entry.
What each field matches
Read a cron schedule and check when it runs
The five fields
A crontab line is minute, hour, day of month, month, day of week, then the command. Each field is a set of allowed values, and the job runs on any minute where every field matches. Minutes run 0 to 59, hours 0 to 23, days of month 1 to 31, months 1 to 12, and days of week 0 to 7, with both 0 and 7 meaning Sunday.
The day-of-month and day-of-week trap
When both day fields are restricted, cron runs when either one matches, not only when both do. So 0 0 13 * FRI fires on the thirteenth of every month and on every Friday. Leave one of the two as * unless you want both. The run times above follow this rule, and the plain-English reading says so when it applies.
Which time zone the run times use
The run times are worked out in your local zone, the clock your browser has. A cron daemon uses the time zone of the machine it runs on, or whatever CRON_TZ and TZ are set to in the crontab. If your laptop is in Berlin and the server is on UTC, an expression that reads as 09:00 here fires at 11:00 Berlin time in summer. Check the server's zone before you rely on a schedule. Around daylight saving changes, a job in the skipped hour may not run and a job in the repeated hour may run twice, depending on the cron implementation.
What the builder does not read
Only the standard five-field syntax is handled. The seconds field some schedulers add, shorthand macros such as @daily and @reboot, and Quartz operators such as L, W and # are rejected with a message instead of being guessed at.
Questions before you schedule a job
Which cron syntax does the builder read?
Standard five-field crontab syntax: minute, hour, day of month, month and day of week. Steps, ranges, lists and month or weekday names are understood. Six-field expressions with seconds, macros such as @daily and Quartz operators such as L, W and # are rejected with a message.
Which time zone are the next run times shown in?
In your browser's time zone, which is named under the list. A cron daemon uses the zone of the machine it runs on, or CRON_TZ and TZ if they are set in the crontab, so check the server's zone before you rely on the times.
Can I paste an existing cron expression to decode it?
Yes. Paste the five schedule fields and you get a plain-English reading, the values each field matches and the next 8 run times. The dropdowns switch to match. If you paste a whole crontab line, the builder points out that the command part does not belong in the field.
What happens when both day fields are set?
Cron runs the job when either the day of month or the day of week matches. For example, 0 0 13 * FRI runs on the thirteenth of every month and on every Friday. The reading warns you when this applies.
Does it cost anything or upload my expression?
No. The builder is free, needs no account and has no job limit. It runs in your browser, and nothing you type is sent to a server.