Cron Expression Parser & Generator

Parse any cron expression into a human-readable description instantly. See the next scheduled run times, get a field-by-field breakdown, and build new cron schedules from scratch. Supports standard 5-field crontab syntax with all special characters.

Presets:
0-59 or */5, 0,30, etc.
0-23 or */2, 9,17, etc.
1-31 or 1,15, etc.
1-12 or JAN-DEC
0-7 or SUN-SAT
* * * * *

How It Works

💬

Human-Readable

Instantly translates cryptic cron syntax into plain English descriptions. Understand exactly when your scheduled task will run without memorizing cron field positions.

🕑

Next Run Times

See the next 10 scheduled execution times calculated from the current date. Verify your cron expression runs when you expect it to before deploying to production.

📚

Preset Library

Choose from 15 common scheduling patterns including every 5 minutes, hourly, daily, weekly, and monthly schedules. Click any preset to instantly see its breakdown.

🔧

Expression Builder

Build cron expressions visually by entering values for each of the five fields. See the generated expression update in real time with instant human-readable feedback.

Understanding Cron Expressions

Cron expressions are the standard format for defining recurring schedules in Unix-like operating systems and modern cloud platforms. A standard cron expression consists of five space-separated fields that specify minute, hour, day of month, month, and day of week. Understanding cron syntax is essential for scheduling automated tasks, whether you are setting up a simple crontab entry, defining a Kubernetes CronJob, or configuring a GitHub Actions workflow.

Cron Expression Format

The five fields of a cron expression follow this pattern:

minute hour day-of-month month day-of-week
  0-59   0-23      1-31      1-12     0-7

Special Characters

How to Use This Tool

In Parse mode, enter any cron expression into the input field and instantly see a human-readable description, a color-coded field breakdown, and the next 10 scheduled run times. Click any preset button to quickly load a common schedule. In Build mode, enter values for each of the five cron fields and watch the expression update in real time. Copy the generated expression to use in your crontab, Kubernetes CronJob, or scheduling system.

Common Use Cases

Frequently Asked Questions

What is a cron expression?
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 or JAN-DEC), and day of week (0-7 or SUN-SAT, where both 0 and 7 represent Sunday). Cron expressions originated in Unix crontab and are now used across many platforms including Kubernetes CronJobs, GitHub Actions, AWS EventBridge, Jenkins, Apache Airflow, and more. They provide a concise, standardized way to express schedules ranging from "every minute" to complex patterns like "at 2:30 PM on the 15th of January, April, and October."
What are the 5 fields in a cron expression?
The five fields in a standard cron expression are: (1) Minute (0-59) -- the minute of the hour when the task runs, (2) Hour (0-23) -- the hour of the day in 24-hour format, (3) Day of Month (1-31) -- the day of the month, (4) Month (1-12 or JAN-DEC) -- the month of the year, and (5) Day of Week (0-7 or SUN-SAT) -- the day of the week where both 0 and 7 represent Sunday. Each field can use special characters: asterisk (*) for "every", comma (,) for lists, hyphen (-) for ranges, and slash (/) for steps.
How do I run a cron job every 5 minutes?
To run a cron job every 5 minutes, use the expression */5 * * * *. The */5 in the minute field means "every 5th minute" starting from minute 0. This results in execution at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 of every hour. The remaining asterisks mean the task runs every hour, every day of the month, every month, and every day of the week. You can adjust the step value for other intervals: */10 * * * * for every 10 minutes, */15 * * * * for every 15 minutes, and */30 * * * * for every 30 minutes.
What does */15 mean in cron?
The */15 syntax in cron means "every 15th interval" of whichever field it appears in. The slash (/) is the step operator and the asterisk (*) represents the full range of the field. In the minute field (*/15 * * * *), it triggers at minutes 0, 15, 30, and 45 of every hour. You can also combine steps with specific starting values or ranges: 5/15 means "starting at 5, then every 15th minute" (minutes 5, 20, 35, 50), and 1-30/5 means "every 5th minute from 1 through 30" (minutes 1, 6, 11, 16, 21, 26).
How do I schedule a cron job for weekdays only?
To schedule a cron job for weekdays only (Monday through Friday), use 1-5 in the day-of-week field (the fifth field). For example, 0 9 * * 1-5 runs at 9:00 AM every weekday. The numbers correspond to days: 0 or 7 = Sunday, 1 = Monday, 2 = Tuesday, 3 = Wednesday, 4 = Thursday, 5 = Friday, 6 = Saturday. You can also use day names: 0 9 * * MON-FRI is equivalent. For weekends only, use 0 9 * * 0,6 or 0 9 * * SAT,SUN.
What is the difference between * and ? in cron?
The asterisk (*) means "every value" and matches all possible values for a field. The question mark (?) means "no specific value" and is used in the day-of-month or day-of-week fields when you want to specify one but leave the other unspecified. In standard 5-field Unix crontab, the ? is typically not used -- both day fields operate independently and all matching days trigger the job. However, extended cron formats like Quartz Scheduler (Java), Spring, and AWS EventBridge require ? in one of the two day fields when the other is specified, to avoid ambiguity. Our parser accepts ? and treats it as a wildcard for compatibility.
How do I use month and day names in cron?
Most cron implementations support three-letter abbreviations for months and days of the week. Months use JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC. Days of the week use SUN, MON, TUE, WED, THU, FRI, SAT. Names are case-insensitive in most systems. You can use them in lists and ranges: 0 9 * JAN,APR,JUL,OCT * runs quarterly, and 0 9 * * MON-FRI runs on weekdays. Names cannot be used with step values in all implementations, so MON/2 may not work everywhere. When in doubt, use numeric equivalents for maximum compatibility.
What tools use cron expressions?
Cron expressions are used by a wide range of tools and platforms. The original Unix/Linux crontab is the classic implementation. Kubernetes CronJobs use standard 5-field cron for scheduling container workloads. GitHub Actions uses cron in the schedule trigger. AWS EventBridge (formerly CloudWatch Events) supports cron expressions for scheduling rules. Jenkins uses cron syntax for build triggers. Apache Airflow uses cron for DAG scheduling. Other tools include Google Cloud Scheduler, Azure Functions Timer Trigger, Celery Beat (Python), Spring Framework @Scheduled annotation, Quartz Scheduler (Java), and systemd timers. While the core 5-field format is consistent, some platforms extend it with a seconds field (Quartz, Spring) or year field.

Explore More Developer Tools

Check out our other free developer tools. Build Kubernetes manifests, parse AWS ARNs, decode Docker images, and more -- all from your browser with no sign-up required.

Kubernetes YAML Generator →