Cron expression generator and explainer

This cron expression generator builds expressions from templates and single fields and explains any expression in plain words. It also shows the next run times, so you can see when the job will really run before you deploy it. Supported: Unix cron (5 fields), Spring (6 fields with seconds) and Quartz (with year).

Source: The Open Group – crontab (POSIX.1-2017): Felder, Bereiche, Tag/Wochentag-Regel. Updated: .

Paste an expression or build it below from templates and single fields. Both stay in sync.
My ToolboxYour inputs are saved in this browser only.

Templates

Edit fields one by one

Allowed: * (all), numbers, ranges (1-5), lists (1,3,5), steps (*/15) and names (MON, JAN).

Result

Meaning
At 02:30, every day
Times in UTC.
Expression (cleaned)
30 2 * * *
Fields in detail
FieldInputValues
Minute3030
Hour22
Day of month*1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 …
Month*1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12
Day of week*0, 1, 2, 3, 4, 5, 6
Next runs
  • Friday, 2 October 2026 at 02:30:00
  • Saturday, 3 October 2026 at 02:30:00
  • Sunday, 4 October 2026 at 02:30:00
  • Monday, 5 October 2026 at 02:30:00
  • Tuesday, 6 October 2026 at 02:30:00
  • Wednesday, 7 October 2026 at 02:30:00
  • Thursday, 8 October 2026 at 02:30:00
  • Friday, 9 October 2026 at 02:30:00
  • Saturday, 10 October 2026 at 02:30:00
  • Sunday, 11 October 2026 at 02:30:00

How it is calculated

A cron expression defines when a scheduled job runs – in crontab, Kubernetes CronJobs, GitHub Actions, Spring or Quartz. It consists of fields separated by spaces. This tool builds expressions, explains them in plain words and shows the next run times.

How to create a cron expression

  1. Choose the dialect: Unix cron has 5 fields; Spring and Quartz add seconds (and Quartz optionally a year).
  2. Click a template or fill the fields one by one. The expression above follows automatically; a pasted expression fills the fields in turn.
  3. Under “Meaning” you see the expression in plain words, and below it the next runs in UTC or in your device’s time.

Structure and notation

Differences between dialects

Limits

Frequently asked questions

What does a cron expression like 30 2 * * * mean?

The five fields are minute, hour, day of month, month and day of week. “30 2 * * *” means: every day at 02:30. The asterisk stands for “all values”.

How do I run a cron job every 5 minutes?

With */5 * * * *: in the minute field */5 means “every 5 minutes” (minute 0, 5, 10 …). The template “Every 5 minutes” enters it for you.

How do Unix cron, Spring and Quartz differ?

Unix cron has 5 fields. Spring and Quartz have a seconds field at the front, and Quartz an optional year at the end. They also number weekdays differently (Quartz: Sunday = 1) and treat day of month and weekday differently.

What does the question mark in a cron expression mean?

The question mark exists in Spring and Quartz for day of month and day of week and means “no specific value”. In Quartz one of the two fields must be ? because you cannot set both at once.

What are the weekday numbers in cron?

In Unix cron and Spring: Sunday = 0 (also 7), Monday = 1 to Saturday = 6. In Quartz: Sunday = 1 to Saturday = 7. Names like MON–FRI work in all three dialects.

Are my cron expressions sent anywhere?

No. The expression, the explanation and the calculation of the next runs all happen in your browser.

Sources and legal basis

As of:

Related tools