Cron Expression Generator

Build cron expressions visually, read them in plain English, and see the next 5 run times.

100% FreeNo sign-upPrivate — runs in your browser

Or build field by field (blank = *):

Field order: minute, hour, day of month, month, day of week. When both day-of-month and day-of-week are restricted, the job runs when either matches (standard cron behaviour).

Copied to clipboard

How to use this tool

1
Type an expression or pick a preset

Five fields: minute, hour, day of month, month, day of week.

2
Or build field by field

Leave a field blank for *. Names like JAN or MON-FRI work too.

3
Read the plain-English description

The schedule is translated into a sentence.

4
Check the next runs

The next 5 run times from now are computed, so you can confirm the schedule behaves as intended.

Formula & worked example

Each field is a set of values: * means all, a-b a range, */n every nth, and a,b,c a list. A time matches when minute, hour and month all match, and day-of-month/day-of-week follow the standard rule: if both are restricted, either matching is enough; if only one is restricted, it must match.

"0 9 * * MON-FRI" means: at 09:00 on Monday–Friday. From Thursday 2026-10-22, its next runs are Fri 2026-10-23 09:00, then Mon 2026-10-26 09:00.

Limitations — read this before you rely on it

This is 5-field cron (minute to weekday). 6-field expressions with a seconds field are rejected, not silently misread. Schedules are computed in the browser's local timezone, and next-run search is capped at about 3.8 years — an impossible schedule like 31 February reports no runs. Special strings like @daily are not supported.

Frequently asked questions

Minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7, where both 0 and 7 mean Sunday).

Every 15th value starting from the field's minimum — in the minute field, at :00, :15, :30 and :45.

Neither — standard cron runs when either matches. To require both, your scheduler must support that explicitly.

0 9 * * MON-FRI — minute 0, hour 9, any day of month, any month, Monday to Friday.

Cron itself has no timezone; the server running it decides. This tool computes from your browser's clock so you can sanity-check the pattern — always confirm your server's timezone setting.