Cron Parser - Decode & Explain Cron Expressions
Parse and understand cron expressions instantly. Our cron parser decodes schedule syntax, shows upcoming execution times, and explains each field in plain English—essential for DevOps engineers, system administrators, and developers working with scheduled tasks.
What Is a Cron Expression?
A cron expression is a string of five (or six) fields that define a schedule for automated task execution. Originating from Unix systems, cron scheduling is now used across platforms for job scheduling.
Standard Format:
* * * * *
│ │ │ │ └── Day of Week (0-6, Sun-Sat)
│ │ │ └──── Month (1-12)
│ │ └────── Day of Month (1-31)
│ └──────── Hour (0-23)
└────────── Minute (0-59)
How to Use
- Enter cron expression - Paste your schedule (e.g.,
0 9 * * 1-5) - Click "Parse" - Analyze the expression
- View explanation - See human-readable description
- Check schedule - View next execution times
- Validate syntax - Identify any errors
Key Features
- Plain English explanation - Understand any expression
- Next run times - See upcoming executions
- Syntax validation - Catch errors immediately
- Field breakdown - Understand each component
- Multiple formats - Standard and extended support
- Time zone aware - Specify execution timezone
Cron Field Values
Complete Field Reference
| Field | Range | Allowed Values | Special Characters |
|---|---|---|---|
| Minute | 0-59 | 0-59 | * , - / |
| Hour | 0-23 | 0-23 | * , - / |
| Day of Month | 1-31 | 1-31 | * , - / ? L W |
| Month | 1-12 | 1-12 or JAN-DEC | * , - / |
| Day of Week | 0-6 | 0-6 or SUN-SAT | * , - / ? L # |
Special Characters
| Character | Meaning | Example |
|---|---|---|
* | Any value | * * * * * (every minute) |
, | Multiple values | 1,15 * * * * (min 1 and 15) |
- | Range | 1-5 * * * * (min 1 through 5) |
/ | Step values | */15 * * * * (every 15 min) |
? | No specific value | Day of month/week conflict resolution |
L | Last | L * * * * (last day of month) |
W | Weekday | 15W * * * (nearest weekday to 15th) |
# | Nth occurrence | 5#2 (2nd Friday of month) |
Common Cron Examples
| Expression | Description |
|---|---|
* * * * * | Every minute |
0 * * * * | Every hour (on the hour) |
0 0 * * * | Midnight every day |
0 9 * * 1-5 | 9 AM on weekdays |
0 0 1 * * | Midnight on 1st of month |
30 4 1,15 * * | 4:30 AM on 1st and 15th |
0 22 * * 1-5 | 10 PM on weekdays |
0 */2 * * * | Every 2 hours |
0 0 * * 0 | Midnight every Sunday |
*/10 * * * * | Every 10 minutes |
Use Cases
DevOps & Automation
- CI/CD pipelines - Scheduled builds
- Database backups - Regular backup jobs
- Log rotation - Cleanup tasks
- System maintenance - Automated updates
- Monitoring checks - Periodic health checks
Business Applications
- Report generation - Scheduled reports
- Email campaigns - Timed newsletters
- Data sync - Regular data updates
- Billing - Recurring charges
- Notifications - Scheduled reminders
Development
- Task queues - Background job scheduling
- Cache refresh - Periodic invalidation
- API polling - Regular data fetching
- Cleanup tasks - Temporary file deletion
- Test automation - Scheduled test runs
Cron Platforms
| Platform | Cron Support | Extra Fields |
|---|---|---|
| Unix/Linux | Native | Standard 5 fields |
| AWS CloudWatch | Events | Seconds field optional |
| GitHub Actions | schedule: | Standard format |
| Kubernetes | CronJob | Standard format |
| Azure Functions | Timer trigger | Seconds field |
| GCP Cloud Scheduler | Yes | Standard format |
Common Mistakes
| Mistake | Problem | Solution |
|---|---|---|
60 * * * * | Invalid minute | Use 0-59 |
0 24 * * * | Invalid hour | Use 0-23 |
0 0 32 * * | Invalid day | Use 1-31 |
Monday | Invalid format | Use 1 or MON |
| Forgetting timezone | Wrong execution time | Specify TZ |
Machine vs. Human Time
Cron expressions use 24-hour format with Sunday as day 0:
| Day | Cron Value | Alternative |
|---|---|---|
| Sunday | 0 | 7 (some systems) |
| Monday | 1 | - |
| Tuesday | 2 | - |
| Wednesday | 3 | - |
| Thursday | 4 | - |
| Friday | 5 | - |
| Saturday | 6 | - |
Frequently Asked Questions
Does cron support seconds?
Standard cron uses 5 fields (minute minimum). Extended formats (AWS, some libraries) support a 6th field for seconds.
How do I schedule "every weekday"?
Use * * * * 1-5 or * * * * MON-FRI to run Monday through Friday.
What's the difference between * and ??
* means "every value" while ? means "no specific value." Use ? when day-of-month and day-of-week might conflict.
Can I schedule "last day of month"?
With extended syntax, use L in the day field: 0 0 L * * runs at midnight on the last day of each month.
How do I troubleshoot a cron job not running?
Check:
- Syntax validity
- Timezone configuration
- System cron service status
- User permissions
- Script path and permissions
Can I run a job "every other Monday"?
Standard cron can't express this. Use a wrapper script that checks the week number, or use more advanced schedulers.