Asterisk *
Matches every possible value in the field. * in the hour field means "every hour" (0 through 23). It's the wildcard — when you don't need to restrict a field, use *.
Parse cron expressions into plain English, build schedules visually, and preview next execution times — entirely in your browser
Click any preset to load it into the parser and see its description and upcoming execution times.
A cron expression is a compact string that defines a recurring schedule. Originally created for the Unix cron daemon in the 1970s, cron expressions have become the universal language for scheduling automated tasks across operating systems, cloud platforms, CI/CD pipelines, and application frameworks.
A standard cron expression consists of five fields separated by spaces, each representing a unit of time. Together, these fields specify exactly when a task should execute — from "every minute" to "at 3:30 PM on the last Friday of March." The syntax is concise enough to fit in a configuration line, yet expressive enough to describe nearly any recurring schedule.
Cron expressions are used in a wide variety of systems: Unix/Linux crontab, Kubernetes CronJobs, AWS CloudWatch Events, Google Cloud Scheduler, Azure Functions Timer Triggers, GitHub Actions, Jenkins, Airflow, Spring Boot, and many more. Understanding cron syntax is an essential skill for DevOps engineers, backend developers, and system administrators.
A standard 5-field cron expression follows this format:
| Field | Allowed Values | Special Characters | Description |
|---|---|---|---|
Minute |
0–59 | * , - / |
The minute within the hour when the task runs |
Hour |
0–23 | * , - / |
The hour of the day (24-hour format, 0 = midnight) |
Day of Month |
1–31 | * , - / |
The day of the month (1 = first day) |
Month |
1–12 | * , - / |
The month of the year (1 = January, 12 = December) |
Day of Week |
0–6 | * , - / |
The day of the week (0 = Sunday, 6 = Saturday) |
*Matches every possible value in the field. * in the hour field means "every hour" (0 through 23). It's the wildcard — when you don't need to restrict a field, use *.
/Defines step intervals. */15 in the minute field means "every 15 minutes" (0, 15, 30, 45). 2/3 means "every 3rd value starting from 2" (2, 5, 8, 11, ...).
,Separates individual values in a list. 1,15 in the day-of-month field means "on the 1st and 15th of the month." You can combine any number of values: 0,15,30,45.
-Defines an inclusive range. 1-5 in the day-of-week field means "Monday through Friday." 9-17 in the hour field means "from 9 AM to 5 PM" (inclusive).
| Expression | Description | Use Case |
|---|---|---|
* * * * * |
Every minute | Health checks, queue processing |
*/5 * * * * |
Every 5 minutes | Metrics collection, cache refresh |
0 * * * * |
Every hour at minute 0 | Hourly reports, data sync |
0 0 * * * |
Every day at midnight | Daily backups, log rotation |
0 9 * * 1-5 |
Weekdays at 9:00 AM | Business-hours alerts, team notifications |
30 2 * * * |
Every day at 2:30 AM | Maintenance windows, overnight batch jobs |
0 0 1 * * |
First day of every month at midnight | Monthly billing, report generation |
0 0 * * 0 |
Every Sunday at midnight | Weekly cleanup, digest emails |
0 6,18 * * * |
Every day at 6:00 AM and 6:00 PM | Twice-daily sync, morning/evening jobs |
0 0 1 1 * |
January 1st at midnight | Annual reset, yearly reports |
Cron expressions are the scheduling standard across the software industry. Here are the most common systems that use cron syntax:
crontab -e and define jobs that run at specified times. This is the most common way to schedule recurring tasks on a Linux server.schedule trigger in GitHub Actions workflows uses standard 5-field cron expressions to run CI/CD pipelines, automated tests, and maintenance tasks on a schedule.H symbol for hash-based load distribution.@Scheduled annotation or the Quartz scheduling library.A cron expression is a string of five fields separated by spaces that defines a schedule for recurring tasks. The five fields represent minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). Cron expressions are used in Unix/Linux cron jobs, CI/CD pipelines, task schedulers, and cloud services like AWS CloudWatch, Google Cloud Scheduler, and Azure Functions.
Read a cron expression from left to right: minute, hour, day of month, month, day of week. An asterisk (*) means "every value." For example, 30 9 * * 1-5 means "at minute 30, hour 9, every day of month, every month, Monday through Friday" — or simply "at 9:30 AM on weekdays." Use a slash (/) for step values, a comma (,) for lists, and a hyphen (-) for ranges.
Cron expressions use four special characters: asterisk (*) matches every possible value; slash (/) defines step intervals (e.g., */15 means every 15); comma (,) separates individual values in a list; hyphen (-) defines an inclusive range (e.g., 1-5 means 1 through 5). These can be combined: 0-30/10 means "every 10 minutes from minute 0 through 30" (0, 10, 20, 30).
Yes. This tool processes everything entirely in your browser using JavaScript. No data is transmitted to any server. The cron expressions you enter and the schedules you build are parsed and calculated locally. You can verify this by checking the browser's network tab — no requests are made when you parse or build an expression. The tool works offline after the initial page load.
Standard Unix cron uses 5 fields: minute, hour, day of month, month, and day of week. Some systems (like Quartz Scheduler, Spring Boot, and AWS EventBridge) add a 6th field for seconds at the beginning, or a year field at the end. This tool supports the standard 5-field format, which is the most widely used across crontab, Kubernetes, GitHub Actions, Google Cloud Scheduler, and most CI/CD tools.
Use the expression */5 * * * *. The */5 in the minute field means "every 5th minute" (0, 5, 10, 15, ..., 55). The remaining asterisks mean "every hour, every day, every month, every day of the week." This is one of the most common cron schedules for health checks, metrics collection, and cache refresh operations.
Next execution times are calculated by iterating forward from the current date and time, checking each minute against the cron expression's constraints. The calculation happens entirely in your browser using JavaScript's Date object in your local timezone. Times are shown with both absolute timestamps and relative indicators for quick reference.