Skip to content
epitometool

Cron expression decoder

Dev quality-of-life

Parse cron strings into plain English with next-run times.

Updated

Cron expression

0
minute
9
hour
*
day
*
month
1-5
weekday
Means
At 09:00 on Monday, Tuesday, Wednesday, Thursday, Friday

Presets

Quick start

How to read and validate a cron expression

Type or paste an expression, see plain-English meaning and the next ten run times.

  1. Step 1
    Enter or pick

    Paste a 5-or-6-field cron expression, or tap a preset to start from a common schedule.

  2. Step 2
    Read the meaning

    The brand-coloured box translates the expression to English. Field tiles show what each position contains.

  3. Step 3
    Verify next runs

    The list at the bottom shows the next ten fire times in your local timezone — useful sanity check before deploying.

In-depth guide

Cron expression parser and next-run calculator

Decode any 5- or 6-field cron expression into plain English and see the next ten run times in your local timezone. Click a preset to drop in a common schedule; tweak it and watch the description update live.

Field reference

Operators: * any value · , list (1,15,30) · - range (1-5) · / step (*/15)
FieldRangeAliases
second (optional)0-59
minute0-59
hour0-23
day of month1-31
month1-12JAN-DEC
day of week0-6 (0 = Sun)SUN-SAT, 7 also = Sun

Common recipes

ExpressionSchedule
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Top of every hour
0 9 * * 1-5Weekdays at 9am
0 0 1 * *First of every month at midnight
0 0 * * 0Every Sunday at midnight
30 2 * * *Every day at 2:30am

Gotchas

  • Day-of-month + day-of-week — when both are specified, classic cron uses OR not AND. 0 0 13 * 5 means "midnight on the 13th OR every Friday".
  • 0 vs 7 for Sunday — both work. We normalise to 0 internally.
  • Step values*/15 on hour means 0, 15, 30, 45 — not every 15th tick of an arbitrary cycle.
  • DST — schedules during the "lost" spring-forward hour don't fire that day. Schedules in the "extra" fall-back hour may fire twice on some daemons.
  • Quartz syntaxL last, W nearest weekday, # Nth weekday — these are NOT supported.

Frequently asked questions

Does this tool send my cron expression anywhere?

No. Parsing, humanization and next-run calculation all happen in your browser. No requests fire.

What cron dialect is supported?

Classic 5-field Vixie cron (minute hour day-of-month month day-of-week) and 6-field with leading seconds. Supports *, , - / and named months/weekdays (JAN, MON, ...).

What about L, W, # and ?

These are Quartz extensions used by Spring schedulers and some Java frameworks — not standard cron. Not supported here. Use unix-style expressions if running on a real cron daemon.

How are next-run times computed?

We walk forward minute-by-minute (or second-by-second for 6-field) starting from now, checking each field. The first 10 matches are shown in your local timezone.

Why does next-run skip months and days I expect?

When both day-of-month and day-of-week are restricted (not *), Vixie cron uses OR — the job runs when either matches. If neither is restricted, both must match (which is trivially true). Our parser follows this convention.

Does it account for DST?

Yes — we use the browser's Date arithmetic which respects daylight saving. Jobs scheduled during the lost hour on spring-forward day are skipped, matching standard cron behaviour.

Keep exploring

More tools you'll like

Hand-picked utilities that pair well with the one you're on — all free, client-side, and zero-signup.