Skip to main content
DEVELOPER

Cron Expression Generator

Build a cron expression from simple options, or write one directly, with a plain-English explanation.

Pattern
0 9 * * *

At 09:00

Next run times (UTC)

  • 2026-10-14T09:00:00.000Z
  • 2026-10-15T09:00:00.000Z
  • 2026-10-16T09:00:00.000Z
  • 2026-10-17T09:00:00.000Z
  • 2026-10-18T09:00:00.000Z

What a cron expression is

A standard cron expression has five fields, separated by spaces: minute, hour, day-of-month, month and day-of-week. Each field can be a specific value, a range (1-5), a list (1,3,5), a step (*/15) or an asterisk meaning “every value.” For example 0 9 * * 1-5 means 09:00 on every weekday.

Building one without memorising the syntax

Choose a common pattern (every minute, hourly, daily, weekly or monthly) and fill in the specific minute, hour, weekday or day of the month; the tool assembles the five fields for you. If you already know cron, switch to Custom and type the expression directly; either way, the explanation and next run times update to match.

Want the background? Read our comprehensive guide: Cron Expressions Explained.

How to use this tool

  1. Choose a preset (every minute, hourly, daily, weekly, monthly), or select Custom to type your own expression.
  2. Fill in the specific minute, hour, day of the month, or weekdays for the preset you chose.
  3. Read the plain-English explanation and the next few run times.
  4. Select Copy to copy the five-field expression.

Examples

A weekday-morning schedule, explained and projected forward.

0 9 * * 1-5

0 9 * * 1-5

Meaning
At 09:00, on Monday through Friday
Next run
2026-09-22T09:00:00.000Z

Every 15 minutes

*/15 * * * *

Meaning
Every 15 minutes

Once a month

0 0 1 * *

Meaning
At 00:00, on day-of-month 1

Frequently Asked Questions

What do the five fields in a cron expression mean?
In order: minute (0-59), hour (0-23), day of the month (1-31), month (1-12) and day of the week (0-6, where 0 is Sunday). An asterisk in any field means “every value.”
What does */15 mean?
A step value: */15 in the minute field means every 15 minutes (0, 15, 30 and 45). The same pattern works in any field.
What happens if I fill in both day-of-month and day-of-week?
Standard cron treats that as “either/or”: the schedule runs when the day matches the day-of-month field OR the day-of-week field, not only when both match.
Does this support 6-field cron with seconds, like Quartz?
No, this tool covers the standard 5-field cron format used by Unix cron and most schedulers. A 6 or 7 field expression is detected and flagged as unsupported rather than silently misread.