Generate and Understand CRON Expressions with Precision
A powerful tool for generating, parsing, and understanding cron expressions used to schedule recurring tasks. Build complex schedules using an intuitive interface with preset options and real-time description.
The CRON Calculator helps you create and understand cron expressions for scheduling recurring tasks. Whether you're configuring cron jobs, setting up CI/CD pipelines, or scheduling background jobs, this tool makes it easy to build precise schedules.
A cron expression consists of five fields separated by spaces, each representing a time unit. The standard format is:
The first three fields (minute, hour, day) control when a task runs within the day. Use ranges, lists, or wildcards to create flexible schedules.
The last two fields (month, day of week) control which days or months the schedule applies to. Both can be combined for complex date matching.
The tool provides an intuitive interface for building cron expressions. Each field can be set independently, and the expression updates in real-time.
Type directly into the main cron input field. The tool validates the expression and shows an error if it doesn't have exactly 5 parts.
Use the five input fields (minute, hour, day, month, day of week) to build your expression visually. Each field supports:
The tool validates each field to ensure values are within valid ranges. Invalid expressions show a descriptive error message.
Four special characters allow you to create complex schedules with minimal syntax:
*Matches any value in the field. "0 0 * * *" runs at midnight every day regardless of month, day, or weekday.
,Separates multiple values. "0 9 * * 1,3,5" runs at 9 AM every Monday, Wednesday, and Friday.
-Defines a range of consecutive values. "0 9 * * 1-5" runs at 9 AM on weekdays only (Monday through Friday).
/Specifies intervals. "*/15 * * * *" runs every 15 minutes. "0 */6 * * *" runs every 6 hours.
The tool includes a library of common schedules you can use with a single click. Click "Use This Schedule" on any preset to apply it:
* * * * *Runs every single minute. Useful for high-frequency tasks.
0 * * * *Runs at the start of every hour (minute 0).
0 0 * * *Runs once a day at exactly 00:00 (midnight).
0 9 * * *Runs every day at 9:00 AM.
0 0 * * 0Runs every Sunday at midnight.
0 0 1 * *Runs on the 1st of every month at midnight.
0 0 1 1 *Runs on January 1st at midnight every year.
0 9 * * 1-5Runs Monday through Friday at 9:00 AM.
*/15 * * * *Runs every 15 minutes (0, 15, 30, 45).
0 */6 * * *Runs every 6 hours (0, 6, 12, 18).
Each of the five fields in a cron expression has specific valid ranges and meanings:
| Field | Position | Valid Values | Special Allowed |
|---|---|---|---|
| Minute | 1st | 0 - 59 | , - * / |
| Hour | 2nd | 0 - 23 | , - * / |
| Day of Month | 3rd | 1 - 31 | , - * / L W |
| Month | 4th | 1 - 12 | , - * / |
| Day of Week | 5th | 0 - 7 (Sun-Sat) | , - * / L # |
In the Day of Week field, both 0 and 7 represent Sunday. This ensures compatibility with both Unix cron (0) and some other systems (7).
Here are some practical examples of cron expressions for common scheduling scenarios:
30 14 * * 1-5Runs at 2:30 PM on weekdays (Monday-Friday).
0 8,20 * * *Runs twice a day at 8 AM and 8 PM.
0 0 1,15 * *Runs at midnight on the 1st and 15th of every month.
0 12 * * 1Runs at noon every Monday.
*/10 9-17 * * 1-5Runs every 10 minutes during business hours (9 AM - 5 PM) on weekdays.
0 3 * * 0Runs at 3 AM every Sunday (good for weekly maintenance tasks).
Schedule daily or weekly database backups. Example: "0 2 * * *" runs daily at 2 AM when system activity is lowest.
Automate daily, weekly, or monthly report generation. Use "0 6 1 * *" for monthly reports on the 1st at 6 AM.
Clear application caches on a regular schedule. "0 4 * * 0" for weekly Sunday morning cache cleanup.
Sync data from external sources. "*/30 * * * *" for frequent syncs, or "0 0 * * *" for daily midnight sync.
Schedule nightly builds or weekly release pipelines. Use "0 0 * * *" for daily builds at midnight.
Schedule marketing emails. "0 9 * * 1" for weekly Monday morning newsletters at 9 AM.