Cron expression explainer

Understand five Cron fields and the day-of-month/weekday rule, then preview dates in a selected Gregorian month without creating a schedule.

Five fields only within the declared Cronie 1.7.2 subset; this is not scheduling, a reminder service or a next-run calculation. Processing is local, with no input upload or automatic saving.

Up to 512 ASCII characters and 32 terms in total. Numbers: minute 0–59, hour 0–23, day of month 1–31, month 1–12, weekday 0–7 (0 and 7 are Sunday). JAN–DEC and SUN–SAT are case-insensitive. Comma lists, inclusive a-b ranges without wrapping, and /1..60 after * or a range are accepted. Reversed ranges and out-of-field endpoints are rejected as tool restrictions. No seconds, command, macros or ? L W # ~.

Preview one selected Gregorian month in 2000–2099, at most 31 days. Steps start at the range’s first value and reset inside each field: */23 in hours means 0 and 23, not every 23 elapsed hours. No time-zone or DST calculation and no minute × hour × day expansion. TXT reports are limited to 16 KiB. No silent truncation.

Expression and preview month

How to use

Enter five fields separated by spaces or tabs; line breaks are not accepted. Choose the preview year and month, then select “Explain and preview month”. Read the sets, AND/OR rule and day table. Each row combines the month condition with the day rule. Explicitly copy the full report or download cron-explanation.txt; there is no upload or autosave.

Try an example

In May 2024, 30 4 1,15 * FRI matches dates 1, 3, 10, 15, 17, 24 and 31: the day of month or Friday is enough. The expression 30 4 */2 * FRI matches only 3, 17 and 31 because */2 starts with * and selects odd days of the month. The expressions 0 0 1,* * MON and 0 0 *,1 * MON are not equivalent: the first matches every May date; the second matches Mondays 6, 13, 20 and 27.

Support & limits

The defined meaning follows Cronie 1.7.2 fields and the crond day rule; it does not claim complete emulation of all cron, Cronie or cronnext syntax. The first-character flag and term order are preserved: if day of month or weekday starts with *, use AND; otherwise use OR. A full membership set does not determine that flag. Month, minute and hour remain independent required conditions. Steps start at the first value of their range and reset within the field: */23 in hours selects 0 and 23, not 23 elapsed hours. No Cartesian product of sets is generated. Preview is calendar-only, without time zones, DST simulation, next-run calculation, reminders or a daemon. There is no worker or cancellation button for this short bounded computation. Download is UTF-8 with LF; the clipboard may normalize line endings.

Common questions

Does a rejected expression mean Cronie itself rejects it?

No. This tool supports only its declared subset: it rejects reversed ranges even for weekdays, out-of-field endpoints even when skipped by a step, steps above 60, macros and commands. No matching dates in one month does not mean no other month can match. Consult the actual cron environment before execution; this page creates no job.

Related tools