cronuru
Tool

Cron Expression Converter

Paste a cron expression and see the equivalent in every major dialect — Unix, Quartz, Kubernetes, AWS EventBridge, Spring, and GitHub Actions. Inline warnings flag precision loss (dropped seconds, dropped year), day-of-week renumbering (Sun=0 vs Sun=1), the Quartz `?` placeholder swap, and any special characters the target dialect doesn't support.

Every 5 minutes

Equivalent in every dialect
Unix cron5 fieldssource
*/5 * * * *
Quartz Scheduler7 fields · seconds · year
0 */5 * * * ?
Kubernetes CronJob5 fields
*/5 * * * *
AWS EventBridge6 fields · year
*/5 * * * ? *
Spring @Scheduled6 fields · seconds
0 */5 * * * *
GitHub Actions5 fields
*/5 * * * *
? in Quartz / EventBridge means "no specific value" — exactly one of day-of-month or day-of-week must be ? when the other is constrained.

How to use it

  1. 01

    Paste your expression

    Type or paste a cron expression into the input field.

  2. 02

    Pick the source dialect

    Choose the dialect your expression is written in — Unix, Quartz, Kubernetes, AWS EventBridge, Spring, or GitHub Actions.

  3. 03

    Read the equivalents

    Every other dialect's equivalent appears below, with inline warnings for any precision loss or unsupported features.

  4. 04

    Copy the one you need

    Click the Copy button next to the target dialect's expression to copy it to your clipboard.

Frequently asked questions

Why does converting from Unix to Quartz change a `*` to `?`?
Quartz requires exactly one of the day-of-month and day-of-week fields to be `?` (the placeholder character meaning "no specific value"). Standard Unix cron allows both to be `*`. When converting to Quartz, the converter picks one of the two to be `?` based on which field is actually constrained.
What does "seconds field dropped" mean?
Quartz and Spring support a seconds field at the front of the expression. Unix, Kubernetes, AWS EventBridge, and GitHub Actions do not. When converting from a 6/7-field source to a 5-field target, the seconds field is dropped. The converter warns when this happens with a non-zero seconds value (a non-zero seconds value would otherwise silently change the schedule).
Why does the converter renumber day-of-week values?
Unix-family dialects (Unix, Kubernetes, GitHub Actions, Spring) use Sunday=0, Saturday=6. Quartz and AWS EventBridge use Sunday=1, Saturday=7. The converter automatically shifts numeric day-of-week values when crossing this boundary. Name-form values like `MON`, `TUE`, `FRI` pass through unchanged because they're unambiguous across dialects.
What if the target dialect doesn't support an `L` or `W` character?
The converter emits the expression unchanged but adds a warning explaining that the target won't parse it. For example, `0 0 L * ?` in Quartz becomes `0 0 L * *` in Unix — with a warning that Unix cron doesn't recognize `L` as "last day of month." To get a working Unix expression, use the workaround pattern: `0 0 28-31 * *` plus a script-level last-day check (see the [last-day-of-month pattern](/last-day-of-month) for details).
Is my expression sent to a server?
No. All conversion happens in your browser. Nothing is logged, stored, or transmitted.