Cron Expression Builder

Build cron expressions visually. See the next run dates and human-readable description.

Minute
Hour
Day of month
Month
Day of week
*
Description: Every minute

Next 10 runs

#Date & TimeRelative

Quick Reference

FieldAllowed valuesSpecial chars
Minute0-59* , - /
Hour0-23* , - /
Day of month1-31* , - / ?
Month1-12 or JAN-DEC* , - /
Day of week0-6 or SUN-SAT* , - / ? L #

Special characters

CharMeaningExample
*Any value* in minute = every minute
,List separator1,15 in minute = min 1 and 15
-Range1-5 in hour = hours 1 through 5
/Step*/5 in minute = every 5 minutes
LLastL in DOM = last day of month
#Nth2#1 in DOW = first Monday

Export

Generates a .timer and .service file pair. Place both in /etc/systemd/system/ (or ~/.config/systemd/user/), then run systemctl daemon-reload and systemctl enable --now <name>.timer.

myjob.timer
myjob.service
Note: The OnCalendar field uses systemd calendar syntax. Edit ExecStart= in the .service file to point to your script or command.

AWS EventBridge rule in JSON format. Use with the AWS CLI, CloudFormation, or the EventBridge console. The cron expression uses AWS 6-field format (with year). Either day-of-month or day-of-week must be ?.

eventbridge-rule.json
Note: Replace the Target ARN and Role ARN placeholders with your actual values. Add "State": "ENABLED" when you are ready to activate the rule.

AWS EventBridge rule in YAML format for use with CloudFormation or the Serverless Framework.

eventbridge-rule.yaml
Note: This is a CloudFormation resource definition. Include it in your template’s Resources section and replace the placeholder ARNs.

GCP Cloud Scheduler job using the gcloud CLI. The schedule uses standard 5-field cron syntax. Timezone is taken from the builder’s timezone selector.

gcloud scheduler command
job.json (for --from-file)
Note: Replace the URI, HTTP method, and body placeholders with your actual endpoint details. The --time-zone flag uses IANA timezone names (e.g. America/New_York).

Kubernetes CronJob manifest in YAML format. Apply with kubectl apply -f cronjob.yaml. Replace the container image and command placeholders.

cronjob.yaml
Note: The concurrencyPolicy, startingDeadlineSeconds, and suspend fields are set to common defaults. Adjust them to match your workload requirements.