Developer Tool

Cron to systemd Timer Converter

Paste a 5-field cron expression to get the equivalent systemd OnCalendar= value — for teams migrating scheduled jobs off cron.

The difference that breaks a naive migration

Vixie cron (the version behind most Linux and macOS crontabs) treats the day-of-month and day-of-week fields specially: if both are restricted (neither left as *), it matches either one — an OR. systemd's OnCalendar= has no such special case: a weekday restriction and a date restriction are always combined with AND. A cron expression that relies on that OR behavior will silently run far less often once converted literally to a systemd timer — see the first-Monday-of-the-month page for exactly where this bites. This tool flags that case rather than silently mistranslating it.

Other differences worth knowing

systemd timers also support features cron doesn't — Persistent=true to catch up on missed runs after downtime, and calendar expressions that reference the last day of the month directly with *-*~1, rather than needing a script-side workaround. If you're moving jobs over, it's often worth reviewing whether a script-side date check can be retired in favor of native systemd syntax.

Related

Related tools