Cron Expression Explainer

This tool translates a cron expression into plain English so you can tell exactl

Updated
Loading toolโ€ฆ

This tool translates a cron expression into plain English so you can tell exactl

How to use Cron Expression Explainer

  1. Paste or type your cron expression into the field, or click an example to load one.
  2. Read the plain-English sentence and the field-by-field breakdown to confirm the schedule.
  3. Check the list of next run times in your local timezone to verify it fires when you expect.
Try next โ†’JSON to TypeScript Interface GeneratorPaste any JSON object or array and this tool infers matching TypeScript type definitions

About Cron Expression Explainer

This tool translates a cron expression into plain English so you can tell exactly when a scheduled job will run. Paste an expression like `30 8 * * 1-5` and it returns a readable sentence ("At 8:30 AM, on Monday through Friday"), a breakdown of what each field means, and a list of the next five times the schedule will fire in your device's local timezone.

It reads standard Unix cron: five fields in the order minute, hour, day-of-month, month, day-of-week (Sunday is 0 or 7). It also accepts a leading seconds field for six-field expressions used by schedulers like node-cron, plus the common shortcuts (@hourly, @daily, @weekly, @monthly, @yearly). Ranges (1-5), lists (1,3,5), steps (*/15), and month or weekday names (JAN, MON) are all understood, and it applies the real Unix rule that day-of-month and day-of-week combine with OR when both are set.

Everything is computed in your browser with JavaScript โ€” no expression is uploaded or logged. Quartz-only characters (L, W, #) and the Quartz weekday numbering are not supported; if you paste one, the tool tells you rather than guessing. Next-run times are calculated by stepping through the calendar, so they respect leap years but use your local clock and do not model daylight-saving transitions on the underlying server.

Frequently asked questions

What cron format does this support?
Standard Unix cron with five fields (minute, hour, day-of-month, month, day-of-week), plus an optional leading seconds field for six-field expressions used by tools like node-cron. It also handles the @hourly, @daily, @weekly, @monthly and @yearly shortcuts, ranges, lists, steps, and month/weekday names.
Are the next run times accurate?
Yes, for the schedule as written. The tool steps through the calendar applying each field, including the Unix rule that day-of-month and day-of-week are OR'd when both are set. Times are shown in your device's local timezone. It does not account for daylight-saving shifts on the server that will actually run the job, so double-check jobs scheduled during a DST changeover.
Does it support Quartz cron (Spring, Jenkins)?
Only partially. Basic Quartz-style six-field expressions with seconds work, and the ? character is treated as a wildcard. But Quartz-specific characters (L for last, W for weekday, # for nth weekday) and Quartz weekday numbering (1=Sunday) are not supported. The tool flags these instead of producing a wrong answer.
Is my cron expression sent anywhere?
No. All parsing and calculation happen locally in your browser using JavaScript. Nothing is uploaded, stored, or logged, so it is safe to paste expressions from private infrastructure.
Why do day-of-month and day-of-week both seem to apply?
That is standard Unix cron behaviour: when both the day-of-month and day-of-week fields are restricted (not *), the job runs when EITHER matches, not only when both do. The tool shows a note whenever this affects your expression.
What do the five fields mean?
In order: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12 or JAN-DEC), and day-of-week (0-7 or SUN-SAT, where both 0 and 7 mean Sunday). A six-field expression adds seconds (0-59) at the very front.