Cron Parser, Visual Schedule & Systemd Timer

Parse cron expressions into plain English, view an interactive 24-hour timeline and 60-minute execution grid, calculate next run times, and export Systemd .timer units.

✕ {{ error }}

Presets

{{p.label}}{{p.expr}}

24-Hour Timeline (Select an hour to view minutes) {{ totalDailyRuns }} runs / day

{{ h.hourStr }} {{ h.count > 0 ? h.count + 'x' : '—' }}

Minute Execution Grid for Hour {{ two(selectedHour) }}:00 {{ activeMinutesCount }} runs in this hour

{{ two(m-1) }}

Systemd .timer Equivalent (OnCalendar)

{{ systemdTimerCode }}

Two OnCalendar= lines: cron ORs day-of-month and day-of-week when both are restricted, but a single systemd calendar expression ANDs its weekday against its date. Systemd combines multiple OnCalendar= lines on the same directive with OR (fires whenever either elapses), which reproduces cron's OR exactly.

{{ useUtc ? 'Timestamps carry an explicit UTC suffix.' : "No timezone suffix — systemd resolves this against the machine's own local timezone at runtime, which may differ from your browser's timezone shown above." }} Unlike cron's ambiguous behavior on DST-transition days, systemd's calendar engine resolves every occurrence unambiguously against the IANA timezone database.

Fields Breakdown

FieldValueAllowed · meaning
{{f.name}}{{f.raw}}{{f.desc}}{{f.range}}

Next scheduled runs {{tzLabel}}

{{i+1}} {{fmt(r)}} {{rel(r)}}

Syntax reference

┌ minute ┬ hour ┬ day-of-month ┬ month ┬ day-of-week

*any value ,value list separator (1,3,5) -range of values (1-5) /step values (*/15 = every 15) ?no specific value (day fields, extended)
Ranges
minute0–59 hour0–23 day-of-month1–31 month1–12 or JAN–DEC day-of-week0–7 (0 and 7 are Sunday) or SUN–SAT
Day-of-month & day-of-week

When BOTH fields are restricted (not */?), standard cron (crontab(5)) runs the job if either condition matches — not only when both do. This is the classic vixie-cron/Linux crontab rule this tool follows; some other schedulers (e.g. Quartz) require exactly one of the two to be unset instead.

About this tool

Each of the 5 fields is expanded into a set of matching values, walking forward minute by minute to calculate 24-hour visual schedule timelines, upcoming execution runs, and equivalent Systemd OnCalendar= timer directives.

This parses the standard 5-field cron dialect (crontab(5)/vixie-cron), including the common ? extension for "no specific value". It does not parse Quartz/Spring/AWS EventBridge's 6–7 field dialect (adds a seconds and/or year field, numbers Sunday–Saturday as 1–7, and adds L/W/# modifiers) — expressions using those will fail to parse here.

Everything is computed locally in your browser. No expression is sent anywhere.