Cron Expression Generator
Build, explain, and test cron schedules with a visual builder and next run previews.
* * * * *
| | | | |
| | | | +-- Day of week (0-7, 0 and 7 = Sunday)
| | | +---- Month (1-12)
| | +------ Day of month (1-31)
| +-------- Hour (0-23)
+---------- Minute (0-59)
Special characters:
* Any value
, Value list separator (1,3,5)
- Range of values (1-5)
/ Step values (*/5 = every 5)Related Tools
Visual Unix permission calculator. Toggle read, write, and execute for owner, group, and other.
Build docker-compose.yml files visually with service templates and live YAML preview.
Generate a JSON Schema from any JSON object with type inference and nested support.
From the makers of JSON Knife
New tools every week
Get notified. No spam.
How to Write Cron Expressions
Cron syntax is deceptively simple but easy to get wrong — the difference between "every day at midnight" and "every minute" is just one misplaced asterisk. This cron expression generator helps you build and validate cron schedules with a human-readable description of when the job will run.
You'll encounter cron expressions in crontab on Linux servers, Kubernetes CronJob manifests, CI/CD scheduled pipelines (GitHub Actions, GitLab CI), AWS EventBridge rules, and background job libraries like Sidekiq or node-cron. The syntax is the same everywhere: minute hour day-of-month month day-of-week.
The tool shows you the next several execution times so you can verify the schedule is correct before deploying. This catches common mistakes like scheduling a monthly report for the 31st (which doesn't exist in every month) or using 0-indexed vs 1-indexed day-of-week values.
Tips
- The five fields are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), day of week (0-6, where 0=Sunday).
- Use
*/5 * * * *for "every 5 minutes" — the*/Nsyntax means "every Nth interval". - Some systems use 6 fields (adding seconds) or 7 fields (adding year). Check your platform's documentation.
- Always test in a staging environment first — a misconfigured cron job can either never run or run every minute.