Overview
Assembles a standard five-field cron expression with dropdowns for minute, hour, day of month, month, and day of week, plus a free-text field on each so you are not limited to the preset lists. The live expression, a plain-English summary, and a copy button update as you change any field. It targets the classic Unix crontab format: minute, hour, day-of-month, month, day-of-week.
How It Works
Set each of the five fields using its dropdown, which offers common values such as * (any), 0, 15, 30 for minutes or 0-6 for weekdays, or type a custom expression like */5, 1-5, or L into the text box under the dropdown. The combined expression appears in large monospace text in the middle of the panel, with a plain-language summary underneath, and the Copy button places the exact five-field string on your clipboard.
Step-by-Step Usage Guide
- Set the minute and hour with the dropdowns or by typing values like */10.
- Set day of month, month, and day of week, leaving * for the ones you do not constrain.
- Read the plain-language summary to sanity-check the schedule you built.
- Copy the expression and paste it into your crontab, scheduler UI, or CI configuration.
Technical Specifications & Standards
The output is the traditional Vixie cron field order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, Sunday as 0). Standard cron operators are valid in the text inputs: * for any value, comma-separated lists, hyphenated ranges, and slash steps such as */15 or 9-17/2. The day-of-month dropdown also offers L, the last-day token, but note that L is a Quartz Scheduler extension, not part of POSIX crontab; pasting an expression with L into a stock Linux crontab will fail. The plain-English summary is heuristic and built from whichever fields are non-wildcard, so it is a reading aid rather than a scheduler: it does not compute the next run time, and the subtle interaction between day-of-month and day-of-week, where standard cron fires when either field matches, is not visualized. There is also no seconds field; if you are targeting Quartz or Spring, which take six or seven fields, prepend and append what they need yourself. The tool is purely a builder: nothing here executes or previews the schedule.
Targeted Use Cases
- Writing crontab entries for nightly backups, certificate renewals, or report generation.
- Building schedule strings for CI systems and hosting platforms that accept cron syntax.
- Learning the field order without memorizing it, by seeing the summary react to each change.
- Producing expressions like weekdays 9 to 5 every 15 minutes without counting fields by hand.
Notes & Gotchas
- Avoid the L token unless your scheduler is Quartz; POSIX cron will reject it.
- When you constrain both day of month and day of week, remember standard cron ORs them; test the schedule if you need AND behavior.
- Use ranges and steps in the text box, such as 1-5 or */6, instead of long comma lists where a pattern exists.
- Always confirm the server's time zone; cron fires in local system time, and the builder does not encode one.
Frequently Asked Questions
Which cron format does this produce?
The classic five-field Unix crontab format: minute, hour, day of month, month, day of week. It has no seconds field, so six-field Quartz or Spring expressions need extra fields added manually.
Can I type */5 or ranges instead of using the dropdowns?
Yes. Each field has a text input under its dropdown that accepts any cron syntax for that field, including steps like */5, ranges like 1-5, lists like 0,15,30,45, and wildcards.
Why does the summary not show when the job will run next?
The summary is a plain-language restatement of the fields, not a schedule calculator. For next-run previews, paste the expression into a scheduler or a next-run calculator.
What does L in the day-of-month dropdown mean?
It means the last day of the month, but it is a Quartz extension. Standard Unix cron does not support L, so only use it if you are targeting a Quartz-compatible scheduler.