Cron Expression Generator

Fill in each field — or leave it as * for "every" — and get a working cron expression with a plain-English explanation.

Presets:

How to use it

  1. Set each field, or use a preset as a starting point.
  2. Read the plain-English explanation to confirm it matches what you want.
  3. Copy the expression into your crontab or scheduler config.

Limitations

The explanation covers common patterns clearly; unusual combinations of ranges, lists, and steps across multiple fields at once get a more literal, field-by-field description rather than a fully natural sentence.

Frequently asked questions

What's the difference between standard cron and Quartz?
Standard Unix/Linux cron uses 5 fields (minute, hour, day-of-month, month, day-of-week). Quartz, used by Java schedulers, adds a seconds field at the start and numbers day-of-week 1–7 starting from Sunday.
What does */5 mean?
It means "every 5 units" for that field — */5 in the minute field runs at 0, 5, 10, 15, and so on through 55.
Can I combine day-of-month and day-of-week?
You can, but most cron implementations treat them as OR, not AND, when both are restricted — meaning the job runs if either condition matches. This tool doesn't change that underlying behavior.
Does this support L, W, or # (last day, weekday, nth weekday)?
Not yet — those Quartz-specific special characters aren't generated by the builder, though you can still type them directly into the day-of-month or day-of-week field.