Cron Expression Translator
Convert cron expressions between formats — English descriptions, systemd timers, Kubernetes CronJob manifests, and dialect conversions. All modes in one tool.
Result
Warnings
Incompatibilities
Conversion Modes
Cron → English
Translate any standard 5-field cron expression into a plain English description. Supports all special characters and named schedules.
English → Cron
Describe your schedule in natural language and get a valid cron expression. Supports phrases like "every weekday at 9am" or "twice daily".
Cron → systemd
Convert cron expressions to systemd .timer unit configurations with OnCalendar= syntax.
Cron → Kubernetes
Generate a complete Kubernetes CronJob YAML manifest from any valid cron expression, ready to apply to your cluster.
Dialect ↔ Dialect
Convert between Standard, Quartz, AWS EventBridge, and Jenkins cron formats. See incompatibilities and structural differences highlighted.
How the Translator works
Cron syntax looks the same everywhere but is not. Quartz and AWS EventBridge add a seconds or year field, require a ? in one of the day fields, and number the days of the week 1-7 starting on Sunday instead of 0-6. Jenkins adds the H token to spread jobs across a time range.
The Translator converts between these formats and reports what changes or cannot be carried across, so a schedule copied from one system still runs on the same days in another.
Step by step
- Choose a mode: English to cron, cron to English, cron to a systemd timer, cron to a Kubernetes CronJob, or one dialect to another.
- Paste the expression or description. For dialect conversion, pick the source and target dialects.
- Read the output and any notes listed under it before using the result.
Examples
- 0 9 * * 1-5 (standard to AWS EventBridge)
- cron(0 9 ? * 2-6 *)
- AWS adds a year field, puts ? in day of month, and renumbers Monday-Friday from 1-5 to 2-6.
- 0 9 * * 1-5 (standard to Quartz)
- 0 0 9 ? * 2-6
- Quartz adds a leading seconds field and uses the same 1-7 day numbering as AWS.
- 0 9 * * 1-5 (cron to systemd)
- OnCalendar=Mon..Fri *-*-* 09:00:00
- The generated timer also sets Persistent=true so a run missed while the machine was off happens at next boot.
Things to watch for
- Converting a Jenkins H expression to another dialect fixes H to a single value, so the load spreading is lost.
- Quartz and AWS cannot express “day of month or day of week” the way standard cron does. When both are set, one is replaced with ? and the notes say so.