Skip to content

Cron Expression Generator

Build and check standard five-field cron expressions. Use guided controls or presets, get a plain-English description, see the next 10 run times in your local time, and catch invalid ranges, steps and impossible dates.

Developer Runs client-side Free to use
Jump to the tool
Share: X WhatsApp
Loading Cron Expression Generator…

About the Cron Expression Generator

Cron Expression Generator helps you write and understand standard five-field cron expressions: minute, hour, day of month, month and day of week. Type an expression directly or build it with the guided controls, where each field can be every value (*), every N values (*/N), a list of specific values, a range with an optional step, or custom field text. Presets cover common schedules such as every hour, every day at midnight, weekdays at 09:00, weekly, monthly and yearly.

For every valid expression the tool writes a plain-English description, breaks down what each field matches and lists the next 10 run times calculated from your browser’s local time and time zone. When both day of month and day of week are restricted, it uses the traditional OR rule — a day matches if either field matches — and says so. Invalid lists, reversed ranges, malformed or zero steps, out-of-range numbers, names, @ macros, six- or seven-field formats and Quartz-style symbols are rejected with clear messages, and so are expressions that can never run, such as 31 February. The tool does not schedule anything or change any crontab.

How to use

  1. Type a five-field cron expression, choose a preset, or use the guided builder for each field.
  2. Read the description and field breakdown to confirm the schedule.
  3. Check the next 10 run times, shown in your browser’s local time zone.
  4. Fix any error messages for invalid syntax or impossible dates.
  5. Copy the expression or description, or download a summary.

Key features

  • Standard five-field syntax: *, single values, lists, ranges and steps.
  • Guided builder for minute, hour, day of month, month and day of week.
  • Presets for common schedules.
  • Plain-English description and per-field breakdown.
  • Next 10 run times in your local time, with daylight-saving gaps noted.
  • Clear OR rule for day of month and day of week, plus strict validation.

Best practices

  • Check which time zone your server or scheduler uses; it may differ from your own.
  • Avoid scheduling important jobs between 01:00 and 03:00 local time in regions with daylight saving.
  • Be careful when restricting both day of month and day of week, because the OR rule can run more often than you expect.
  • Stagger heavy jobs instead of starting them all at minute 0.
  • Confirm the syntax your cron implementation supports before using extensions.

Benefits

  • Understand an unfamiliar cron expression at a glance.
  • Avoid mistakes such as reversed ranges or dates that never occur.
  • See exactly when a job would next run before you deploy it.
  • Works in your browser with nothing uploaded.

Frequently asked questions

Which cron format does this tool support?

Standard five-field cron: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–7, where 0 and 7 are Sunday). It does not support Quartz, AWS EventBridge, systemd timers, seconds or year fields, names such as MON or JAN, or @daily-style macros.

How are day of month and day of week combined?

If both fields are restricted (anything other than a plain *), a day matches when either field matches — the traditional OR rule. If only one is restricted, only that one is used. For example 0 0 1 * 1 runs on the 1st of every month and on every Monday. Some implementations treat fields that start with *, such as */2, differently.

Which time zone are the next run times in?

They are calculated from your browser’s current local time and time zone, which is shown above the list. A cron daemon uses the server’s clock and time zone, so its run times can differ.

What happens around daylight-saving changes?

A local time that does not exist because the clock jumps forward is skipped and noted. A repeated local time when the clock goes back is listed once. Cron daemons handle these hours in different ways, so check yours.

Why is an expression rejected as impossible?

If day of month is restricted, day of week is *, and none of the chosen days exist in the chosen months — for example 0 0 31 2 * — the job could never run, so the tool reports an error instead of listing nothing.

Does this tool schedule or deploy anything?

No. It only builds, validates and explains expressions in your browser. It does not create jobs, edit a crontab or contact any server.