Cron Expression Generator
Build and parse cron expressions visually. See next run times, human-readable descriptions, and use common presets.
0-59, *, */n, n-n, n,n
0-23, *, */n, n-n, n,n
1-31, *, */n, n-n, n,n
1-12, *, */n, n-n, n,n
0-6 (Sun=0), *, n-n, n,n
Schedule Description
At 9:00 AM, on weekday Monday through Friday
Next 5 Run Times
Wed, Mar 25, 2026 at 09:00 AMThu, Mar 26, 2026 at 09:00 AMFri, Mar 27, 2026 at 09:00 AMMon, Mar 30, 2026 at 09:00 AMTue, Mar 31, 2026 at 09:00 AMCommon Presets
Cron Syntax Reference
| Symbol | Meaning | Example |
|---|---|---|
| * | Any value | * (every minute) |
| , | Value list | 1,3,5 (Mon, Wed, Fri) |
| - | Range | 1-5 (Mon through Fri) |
| / | Step values | */15 (every 15 units) |
About This Tool
The Cron Expression Generator is a visual tool for building, parsing, and understanding cron schedules. Whether you are setting up automated backups, scheduling deployment pipelines, configuring monitoring alerts, or managing any recurring task on a Unix-like system, this tool helps you create correct cron expressions without memorizing the syntax. It provides instant feedback with human-readable descriptions and shows the next five execution times so you can verify your schedule before deploying it.
A Brief History of Cron
Cron was originally written by Ken Thompson for Version 7 Unix at Bell Labs in the late 1970s. The name comes from the Greek word chronos, meaning time. The modern version used on most Linux systems (Vixie cron) was written by Paul Vixie in 1987 and added features like per-user crontabs and environment variable support. Despite being nearly 50 years old, the cron scheduling format remains the most widely used time-based job scheduling syntax in computing. Its simplicity and expressiveness have led to its adoption far beyond Unix systems, appearing in cloud platforms, web frameworks, container orchestration, and CI/CD tools.
Understanding the Five Fields
A standard cron expression consists of five fields, each controlling a different time dimension. The minute field (0-59) specifies which minute(s) of the hour the job runs. The hour field (0-23) uses 24-hour time. The day-of-month field (1-31) specifies calendar dates. The month field (1-12) determines which months. The day-of-week field (0-6, Sunday=0) specifies weekdays. A job runs when ALL five fields match the current time simultaneously. For example, "30 14 * * 1-5" runs at 2:30 PM on weekdays because the minute is 30, the hour is 14 (2 PM), any day of month is acceptable, any month is acceptable, and the weekday must be 1 through 5 (Monday through Friday).
Advanced Scheduling Patterns
Beyond simple schedules, cron supports powerful patterns through its operators. The comma operator creates lists: "0 9,12,17 * * *" runs at 9 AM, noon, and 5 PM. The range operator creates spans: "0 9 * * 1-5" covers Monday through Friday. The step operator creates intervals: "*/10 * * * *" runs every 10 minutes. These operators can be combined: "0 9-17/2 * * 1-5" runs every 2 hours between 9 AM and 5 PM on weekdays. Understanding these patterns lets you express virtually any recurring schedule in a compact five-field format.
Cron in Modern Infrastructure
While traditional cron runs on individual servers, the cron expression format has been adopted across modern cloud infrastructure. AWS EventBridge (formerly CloudWatch Events) uses cron expressions to trigger Lambda functions, Step Functions, and other AWS services. Google Cloud Scheduler uses cron format for triggering Cloud Functions and Pub/Sub messages. Kubernetes CronJobs use the standard five-field format for running containerized tasks on schedule. GitHub Actions supports cron in the schedule trigger for automated workflows. Understanding cron syntax is essential for anyone working with cloud infrastructure, DevOps automation, or backend development.
Common Mistakes and Debugging
The most common cron mistakes include confusing the day-of-week numbering (0 or 7 = Sunday on most systems, but some start at 1 = Monday), forgetting that cron uses 24-hour time (14 means 2 PM, not 14 PM), and misunderstanding how day-of-month and day-of-week interact (on most cron implementations, if both are set to non-asterisk values, the job runs when either condition is met, not when both are). Another frequent issue is timezone confusion: cron runs in the server's configured timezone, which may differ from your local timezone. Always verify your expressions using the next-runs preview in this tool before deploying to production systems.
Frequently Asked Questions
What is a cron expression?
What does the asterisk (*) mean in cron?
How do step values (/) work in cron?
How do I schedule a cron job to run on specific days of the week?
What is the difference between cron and crontab?
Can cron expressions specify seconds?
Was this tool helpful?