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
Get the JSON & API Cheat Sheet
Formatting tricks, jq commands, and common patterns — one page, zero fluff.
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.