Web Toolkit

Cron Expression Parser

Explain a cron expression in plain English and preview the next runs.

Cron expression

minute · hour · day of month · month · day of week
In plain English

Every 15 minutes

minute
*/15
hour
*
day of month
*
month
*
day of week
*

Private by design. Everything runs locally in your browser. Your input is never uploaded, logged or stored on a server.

How to use the Cron Expression Parser

  1. Type the five-field expression, or start from one of the presets.
  2. Read the plain-English description to confirm it says what you meant.
  3. Check the next five run times, shown in your local timezone.
  4. Copy the expression once it reads correctly.

A worked example

Input
0 9 1 * 1
Output
At 09:00, on day 1 of the month and on Monday

This is the trap: when both day fields are set, standard cron treats them as OR, so this fires on the 1st and on every Monday — about five times more often than intended. The tool flags it explicitly.

Frequently asked questions

What do the five cron fields mean?

In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-7, where both 0 and 7 are Sunday).

What does */15 mean?

A step value: every 15 units within that field. In the minute field, */15 runs at :00, :15, :30 and :45.

Which timezone are the next run times shown in?

Your device local timezone. Servers commonly run cron in UTC, so check your host configuration before relying on the preview.

Are six-field expressions supported?

Yes. A leading seconds field is recognised, which is the format used by Quartz and several job schedulers.

About the Cron Expression Parser

A cron expression is five fields — minute, hour, day of month, month, day of week — optionally preceded by a seconds field. Small syntax differences change the meaning completely, and the usual way to find out is to wait a day and see whether the job ran.

This tool describes the expression in plain English and computes the next occurrences against your local timezone, so you can confirm the schedule before deploying it. Presets cover the common cases; adjust from there.

The classic trap is combining day-of-month and day-of-week. In standard cron, 0 0 1 * 1 fires on the 1st of the month or on every Monday, not only on a Monday that falls on the 1st. Leave one of the two fields as * unless you specifically want the OR behaviour.

What it does not do

  • Standard five-field cron. The Quartz extensions — a seconds field, L, W, ? and # — are not parsed.
  • Run times are computed in your browser timezone. Servers usually run cron in UTC, so compare the two before trusting a schedule.
  • Daylight-saving transitions can make a run happen twice or not at all; no expression can express its way out of that.

Further reading

Related tools