NV ToolkitFormat · Validate · Convert

Developer Tools

Cron Expression Generator & Explainer

Five dropdowns in, plain English out — with the next ten run times in your local timezone so you ship the schedule you actually meant.

In short

A cron expression is five space-separated fields — minute, hour, day of month, month, day of week — each accepting * (every), */n steps, ranges and lists; '0 9 * * 1-5' means 09:00 Monday to Friday. This generator builds the expression from dropdowns or presets, translates it into plain English as you edit, and lists the next ten run times in your timezone.

By NaveenKumar T · Updated

Learn: Cron Expression Syntax Explained: Fields, Special Characters and Real Schedules

  • Builder for all 5 cron fields
  • Plain-English live description
  • Next 10 runs in your timezone

Runs entirely in your browser — nothing you paste or open here is uploaded, logged, or stored.How we handle data →

Why this tool

Stop deploying schedules you can't read

Cron syntax is write-only for most of us. Seeing the English meaning and the actual next runs catches the classic mistakes before they page you at 3 AM.

English, instantly

Every edit re-renders the expression as a sentence — '0 9 * * 1-5' becomes 'At 09:00 AM, Monday through Friday'. Ambiguity dies on contact.

Next runs, your timezone

The schedule preview lists the next ten fire times as local dates — the fastest way to spot that your 'daily 9 AM' job actually runs at 9 AM UTC.

Builder + free editing

Compose with per-field dropdowns (every N minutes, weekdays, specific months) or type the expression directly — both stay in sync.

Presets for the 90%

Every minute, hourly, nightly, weekdays-at-nine, first-of-month, quarterly — the schedules everyone needs, one click away.

Learn more

Reading cron like a native

Cron's five-field syntax has scheduled the world's maintenance windows since the 1970s: minute, hour, day-of-month, month, day-of-week, each accepting wildcards, steps, ranges and lists. Its power is density; its danger is that '0 0 1 */3 *' and '0 0 */3 1 *' look like siblings and behave nothing alike. A generator with live translation removes that ambiguity.

The same syntax now drives far more than crontab — Kubernetes CronJobs, GitHub Actions schedules, AWS EventBridge (with a seconds field), Quartz (with seconds and years), and the Cloudflare Workers cron triggers this site deploys on. The five-field core you build here transfers to all of them; just mind each platform's timezone rules and extra fields.

Worked example

Eight schedules that between them cover most of what teams actually deploy, each paired with the sentence the explainer prints. The wording below is generated by the same library that renders the live description above, so a preset you recognise here reads identically in the tool — and note that the last two rows differ only in the month field, which is exactly how a monthly job quietly becomes a quarterly one.

Eight common five-field cron expressions and their plain-English meaning
ExpressionMeaning
*/15 * * * *Every 15 minutes
0 * * * *Every hour
0 0 * * *At 12:00 AM
30 2 * * 0At 02:30 AM, only on Sunday
0 9 * * 1-5At 09:00 AM, Monday through Friday
15 3 * * 6At 03:15 AM, only on Saturday
0 0 1 * *At 12:00 AM, on day 1 of the month
0 0 1 */3 *At 12:00 AM, on day 1 of the month, every 3 months

Cron schedule examples

Common cron schedules, explained one by one

Each example is a page of its own: the expression, a field-by-field breakdown, the next five run times in your timezone, and the mistakes that schedule invites.

Help

Frequently asked questions

Everything you need to know about the Cron Expression Generator.

01How do I create a cron expression?

Either pick a preset chip, choose values in the five dropdowns (minute, hour, day of month, month, day of week), or type the expression directly. The English description and next-run list update live, and invalid fields get a specific error instead of a silent misfire.

02What do the five fields mean?

In order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–6, Sunday = 0). Special characters: * means every, */5 means every 5th, 1-5 is a range, 1,15 is a list. '30 2 * * 0' reads: at 02:30 on Sundays.

03Both day-of-month and day-of-week are set — which wins?

In classic cron, if both fields are restricted the job runs when either matches (an OR) — '0 0 13 * 5' fires on the 13th and on every Friday, which surprises nearly everyone. Some modern schedulers AND them instead. The next-run preview here uses OR semantics; when in doubt, keep one of the two fields as *.

04Which timezone do my cron jobs run in?

Whatever the host's cron daemon uses — typically the server's timezone, often UTC in containers and CI. This page previews runs in your browser's timezone for readability; before deploying, confirm the target system's TZ or set it explicitly (many crontabs support CRON_TZ).

Keep working

Related tools

Learn the format

Related guides

All guides →