Cron expressions power scheduled tasks across Linux servers, CI/CD pipelines, and cloud schedulers β but the syntax is easy to get wrong. Use our free Cron Expression Generator to build schedules visually, see a human-readable description, and preview the next 5 run times.
What Is a Cron Expression?
A cron expression is a compact string that defines when a scheduled task should run. Cron is used everywhere: Linux/Unix crontab jobs, database backups, server maintenance scripts, CI/CD pipelines, AWS EventBridge, Google Cloud Scheduler, and Kubernetes CronJobs. Instead of memorizing field syntax, a visual builder lets you configure schedules and verify the output instantly.
The 5 Fields of Standard Cron
A standard Unix cron expression has five space-separated fields:
- Minute (0β59)
- Hour (0β23)
- Day of Month (1β31)
- Month (1β12)
- Day of Week (0β7, where 0 and 7 are Sunday)
Special characters include * (every), / (intervals like */5 for every 5 minutes), - (ranges like 1-5), and , (lists like 1,3,5).
Common Pitfalls
- Timezone mismatch β cron uses the server's local timezone, not yours. A job set for 9 AM on a UTC server is 2:30 PM IST.
- Day of Month vs Day of Week β in some cron implementations, when both fields are specified (neither is
*), the behavior can be non-obvious. Test your expression before deploying. - 6-field cron β AWS EventBridge and some Kubernetes setups add a seconds field at the start. Standard Linux crontab uses 5 fields.
Related Reading
Frequently Asked Questions
What does `0 9 * * 1-5` mean in cron?
It runs at 9:00 AM every weekday (Monday through Friday). The fields are Minute (0), Hour (9), Day of Month (*=any), Month (*=any), Day of Week (1-5=Monday to Friday).
What's the difference between `*/5` and `0,5,10,15...` in a cron expression?
Both can produce similar schedules, but `*/5` means "every 5 minutes starting from 0" and will fire at 0, 5, 10...55. An explicit list gives you more control over exactly which minutes are included.
Why does my cron job run at the wrong time?
Cron uses the server's system timezone, not your local timezone β if your server runs on UTC and you expected 9 AM IST, you'd need to set the job for 3:30 AM UTC instead (IST is UTC+5:30).
Does this generator work for AWS EventBridge or Kubernetes cron?
Standard 5-field cron syntax (what this tool generates) is compatible with most Linux systems and many cloud schedulers. AWS EventBridge uses a 6-field format with a seconds field β note this if you're targeting AWS specifically.