LazyTools

🔒 Every tool runs in your browser — the files and values you enter are never uploaded to any server. How it works

⏲️ Cron Expression Parser

Paste any 5-field cron expression — get what it means in plain English, the next 5 run times in your local timezone, and a field-by-field breakdown.

At 09:00, on Monday, Tuesday, Wednesday, Thursday and Friday.

Field breakdown
0Minute0–59
9Hour0–23
*Day of month1–31
*Month1–12 or JAN–DEC
1-5Day of week0–7 or SUN–SAT (0 and 7 = Sunday)
Next 5 runs (your local time)
Mon, Jul 20, 2026, 09:00 AM
Tue, Jul 21, 2026, 09:00 AM
Wed, Jul 22, 2026, 09:00 AM
Thu, Jul 23, 2026, 09:00 AM
Fri, Jul 24, 2026, 09:00 AM

Next-run times use your browser's timezone — the machine running the real crontab may use another (often UTC). Parsed entirely locally.

Rate this tool:
Anonymous — no account, no identifier

How the cron expression parser works

A cron expression is five fields — minute, hour, day-of-month, month, day-of-week — each accepting numbers, ranges (1-5), lists (1,15), steps (*/10) and names (MON, JAN). The parser expands each field to its matching values, explains the whole expression in plain English, and simulates the schedule forward to show the next run times in your local timezone — the fastest way to confirm a schedule does what you meant before it goes into a crontab or CI config. One subtlety it models correctly: when both day-of-month and day-of-week are restricted, classic cron fires when either matches (OR, not AND) — the single most common cause of jobs running more often than intended.

The classic footgun: "0 0 1 * 1" reads like "midnight on the 1st, if it’s a Monday" but actually fires on the 1st AND on every Monday — the two day fields OR together. If you need "the first Monday of the month", cron alone can’t say it; schedule Mondays and test the date in the job itself.

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 or JAN–DEC), day of week (0–7 or SUN–SAT, where both 0 and 7 are Sunday).

What does */15 mean?

"Every 15th value" — in the minute field it fires at :00, :15, :30 and :45. Steps combine with ranges too: 9-17/2 in the hour field means 9, 11, 13, 15 and 17.

Why does my job run more often than expected?

Usually the day-of-month/day-of-week OR rule: if both fields are restricted, matching either one triggers the job. "0 0 1 * 1" runs on the 1st and every Monday, not only when they coincide.

What timezone are the next-run times shown in?

Your browser’s local timezone. Remember the server running the real crontab uses its own timezone (often UTC) — a frequent source of off-by-hours surprises.

Does it support @daily and 6-field (seconds) syntax?

This parser covers the standard 5-field syntax that crontab, GitHub Actions and most schedulers use. @daily is shorthand for "0 0 * * *" — paste the long form to inspect it.

Related network tools

From the blog