Cron Expression Builder and Explainer
Five fields: minute, hour, day of month, month, day of week.
Enter a cron expression above to see what it means and when it next runs.
Next run times are computed in UTC and assume a standard cron scheduler. When both day of month and day of week are set, a day matches if either one matches, which is the common cron behavior. Everything runs in your browser.
Cron syntax is compact but easy to misread, and one wrong field can run a job at the wrong time. Switch to Build to assemble a schedule with dropdowns and common presets, or stay in Explain to paste an expression and read it as a clear sentence. Either way you get the plain English meaning plus the next 5 run times in UTC, so you can confirm exactly when a job fires before you ship it. It supports the standard 5 field format and an optional 6 field format with leading seconds, including wildcards, ranges, lists, and step values. Everything runs in your browser.
How to use
- Pick Explain to paste an expression, or Build to assemble one with dropdowns.
- In Explain, type your cron in field order: minute, hour, day of month, month, day of week.
- In Build, choose each field or start from a preset, then copy the generated expression.
- Read the plain English meaning and the next 5 run times below.
- Turn on 6 field to add a leading seconds field.
Examples
- 0 9 * * 1 means: At 09:00, only on Monday
- */15 * * * * means: Every 15 minutes
- */30 * * * * * (6 field) means: Every minute, every 30 seconds
FAQs
- What are the cron fields and their order?
- The standard five fields are minute (0 to 59), hour (0 to 23), day of month (1 to 31), month (1 to 12), and day of week (0 to 7). Both 0 and 7 in the day of week field mean Sunday. With the 6 field option on, a leading seconds field (0 to 59) is added before the minute.
- Which cron syntax does this support?
- It supports the wildcard (*), ranges like 1-5, lists like 1,3,5, and step values like */15 or 0-30/10. It does not handle named shorthands such as @daily or month and day names like MON.
- What does an asterisk mean in cron?
- An asterisk means every valid value for that field. For example, an asterisk in the hour field means the job can run during every hour.
- How do step values work?
- A step like */15 in the minute field means every 15 minutes starting at 0. A bare number with a step, such as 5/10 in the minute field, runs from minute 5 up to the field maximum in increments of 10.
- Why am I getting an error?
- Common causes are the wrong number of fields (a standard expression needs exactly five), a value outside its allowed range, a reversed range like 5-1, or a non numeric value. The error message names the field and the problem.
- How are the next run times calculated?
- The tool steps forward from the current time and lists the next 5 matches, computed in UTC. When both day of month and day of week are restricted, a day matches if either one matches, which is the behavior of common cron schedulers. Your own scheduler runs in its own time zone, so treat these as a UTC reference.
- Does this run a job or just describe it?
- It does no scheduling. It explains the expression and previews when it would fire, but it never starts a job. The explanation is purely a readout of the expression you provide.
Related tools
- SQL FormatterFormat and indent SQL queries online. Put SELECT, FROM, WHERE, and JOIN on their own lines, set keyword case, and copy clean results.
- XML FormatterPretty print XML with clean indentation per nesting level. Pick 2 spaces, 4 spaces, or tabs. Validates broken markup, runs in your browser.
- String EscaperEscape and unescape strings for JSON and JavaScript. Convert newlines, tabs, quotes, and backslashes to and from their escaped forms in your browser.
- Diff CheckerCompare two blocks of text and see what changed, line by line or word by word. Side by side, inline, or unified diff views. Free and private in your browser.
- JSON FormatterFormat, validate, and beautify JSON in your browser. Paste messy JSON, get clean indented output, then copy it back. Free, no signup.
- Base64 EncoderEncode text to Base64 or decode Base64 back to text in your browser. Full UTF-8 support and clear errors on invalid input.