Cron Translator

One schedule, every format. Convert cron expressions to GitHub Actions, Kubernetes, AWS, systemd, and more.

Standard 5-field cron: minute hour day-of-month month day-of-week

At 9:00 AM, Monday through Friday

Standard Cron (5-field)

Classic crontab format

0 9 * * 1-5

Cron with Seconds (6-field)

Used by Quartz, Spring, some Node.js libraries

0 0 9 * * 1-5

GitHub Actions

For .github/workflows/*.yml

on:
  schedule:
    - cron: '0 9 * * 1-5'

Kubernetes CronJob

YAML manifest snippet

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-cronjob
spec:
  schedule: "0 9 * * 1-5"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: my-job
            image: my-image:latest
          restartPolicy: OnFailure

systemd Timer (OnCalendar)

For .timer unit files

[Timer]
OnCalendar=Mon..Fri *-*-* 09:00:00
Persistent=true

AWS EventBridge / CloudWatch Events

Cron expression for AWS

cron(0 9 ? * MON-FRI *)

Note: AWS uses 6 fields and requires '?' for either day-of-month or day-of-week

Azure Functions Timer Trigger

NCRONTAB format (6 fields with seconds)

0 0 9 * * 1-5

Google Cloud Scheduler

Standard unix-cron format

0 9 * * 1-5

Deploying this schedule? Know when it fails to run.

Monitor free

Using cron in production?

Monitor all your scheduled jobs in one place with CronSignal.

Know when cron jobs fail

Format Differences Explained

Standard vs Extended Cron

Standard Unix cron uses 5 fields (minute, hour, day-of-month, month, day-of-week). Some systems extend this:

  • * 6-field (with seconds): Used by Quartz, Spring, and some Node.js libraries like node-cron
  • * AWS/Jenkins style: Uses 6 fields with year, and requires '?' for unused day fields
  • * systemd OnCalendar: Uses a completely different human-readable format

Day-of-Week Numbering

Be careful! Different systems number days differently:

  • * Standard cron: 0 = Sunday, 6 = Saturday
  • * AWS/Quartz: 1 = Sunday, 7 = Saturday (or use SUN-SAT)
  • * systemd: Uses Mon, Tue, Wed, etc.