
Decode Cron Schedules
Convert cryptic Unix cron expressions to clear, human-readable descriptions and compute upcoming run times in your timezone.
5 fields: min hour dom mon dow
A cron expression parser turns an expression like '0 9 * * 1-5' into a human-readable description and calculates the next run times. It supports both Unix/Linux crontab (5 fields) and Java Quartz (6–7 fields), and breaks down what each field means. All parsing runs inside your own browser.
A cron expression has 5 fields: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), day-of-week (0–6). Each field defines when the job runs.
The * (wildcard) means "any value". Ranges (1-5) mean 1,2,3,4,5, and steps (*/15) mean every 15th value (e.g., 0,15,30,45 for minutes).
Weekdays at 9 AM is 0 9 * * MON-FRI, first of month is 0 0 1 * *, and hourly is 0 * * * *.
This tool calculates upcoming run times in your selected timezone, and daylight saving time (DST) transitions are handled automatically.
Checking that an expression does what you intend before adding a job to a server's crontab, making sense of someone else's cron config, validating a Quartz scheduler expression for something like Spring, or previewing exactly when the next run will be.
Both 0 and 7 mean Sunday for day-of-week, and you can use names (MON–FRI). If you set both a day-of-month and a day-of-week, the job runs when either one matches (OR), so take care. Quartz format puts a seconds field first and supports extensions like L (last day), W (nearest weekday), and # (nth weekday).
Unix/Linux crontab uses 5 fields (minute hour day month weekday). Java Quartz adds a seconds field at the front for 6–7 fields and supports extensions like L (last day), W (nearest weekday), # (nth weekday), and ?. Use the mode toggle at the top to switch between the two.
First check that the description and "next run times" match what you intended. Common causes are specifying both a day-of-month and a day-of-week (which run with OR logic), confusing the weekday number (0 = Sunday), and timezone differences. The field breakdown table shows how each field was interpreted.
According to standard cron semantics, if both are specified, OR logic applies: the job runs on the specified day-of-month OR the specified day-of-week. E.g., 0 9 15 * MON runs on the 15th of any month OR any Monday at 9 AM.
This is the standard POSIX cron convention: 0 = Sunday, 1 = Monday, …, 6 = Saturday. Some systems allow 7 for Sunday; this tool converts 7 to 0.
February 29 exists only in leap years, so a job on Feb 29 runs only in leap years. April 31 doesn't exist, so a job on that date is skipped.
During spring DST transition, skipped times are skipped. During fall transition, times that occur twice may run twice. This tool uses your browser's timezone database to handle DST automatically.