Cron Expression Generator & Explainer
Paste any cron expression to see what it means in plain English and its next 5 run times, or build a new one from simple dropdowns.
A cron expression is a five-field schedule string — minute, hour, day of month, month and day of week — that tells the cron daemon when to run a command. For example, */5 * * * * means “every 5 minutes” and 0 9 * * 1-5 means “9:00 AM, Monday to Friday”. Each field accepts numbers, *, lists, ranges and steps.
How Does the Cron Expression Generator Work?
The Cron Expression Generator is a free online tool that helps developers, system administrators, and DevOps engineers create cron expressions without memorizing the cron syntax. Cron is a time-based job scheduling utility found in Unix-like operating systems that allows users to schedule commands or scripts to run at specific intervals. The cron daemon reads a configuration file called a crontab, where each line defines a schedule using a five-field expression followed by the command to execute.
The tool works in two directions. Paste an existing cron expression into the explainer and it validates every field, translates it into plain English, lists the exact values each field expands to, and calculates the next five run times in your browser’s time zone. Or build a new expression from the dropdowns — common presets like “every 5 minutes” or “weekdays at 9 AM” — and the tool assembles the five-field string for you. Everything runs locally; nothing you paste is uploaded.
Cron Syntax: The Five Fields Explained
Standard Linux cron (Vixie cron and its successor cronie) reads five space-separated time fields. Allowed values below come from the crontab(5) manual page (also published at man7.org).
│ ┌───────────── hour (0–23)
│ │ ┌───────────── day of month (1–31)
│ │ │ ┌───────────── month (1–12 or JAN–DEC)
│ │ │ │ ┌───────────── day of week (0–7 or SUN–SAT; 0 and 7 are Sunday)
* * * * *
| Field | Allowed values | Special characters |
|---|---|---|
| Minute | 0–59 | * , - / |
| Hour | 0–23 | * , - / |
| Day of month | 1–31 | * , - / |
| Month | 1–12 or JAN–DEC | * , - / |
| Day of week | 0–7 (0 and 7 = Sunday) or SUN–SAT | * , - / |
*means every value (“first–last”).,separates a list:1,15.-is an inclusive range:8-11in the hour field means 8, 9, 10 and 11./adds a step:0-23/2or*/2means every other hour.- Names (first three letters, any case) work in the month and day-of-week fields:
mon,wed,fri,jan-mar.
Day of month vs day of week: if both fields are restricted (neither starts with *), cron runs the job when either one matches. The crontab(5) manual gives 30 4 1,15 * 5 as the example: 4:30 AM on the 1st and 15th of each month, plus every Friday. This tool follows the same rule.
Cron Expression Examples
The most common schedules, ready to copy. Paste any of them into the explainer above to see the next run times.
| Cron expression | Meaning | Typical use |
|---|---|---|
* * * * * | Every minute | Health checks, queue workers |
*/5 * * * * | Every 5 minutes (:00, :05, :10 … :55) | Data sync, cache warm-up |
0 * * * * | Every hour, on the hour | Hourly reports, log rotation |
0 0 * * * | Daily at midnight (00:00) | Backups, cleanup jobs |
0 9 * * 1-5 | 9:00 AM, Monday through Friday | Business-hours notifications |
0 0 1 * * | Midnight on the 1st of every month | Monthly invoices, reports |
0 0 * * 0 or 0 0 * * SUN | Midnight every Sunday | Weekly maintenance |
30 4 1,15 * 5 | 4:30 AM on the 1st and 15th, plus every Friday | Shows the day-of-month OR day-of-week rule |
Linux Crontab vs Quartz vs AWS EventBridge vs GitHub Actions Cron
“Cron” syntax is not identical everywhere. A five-field Linux expression must be adapted before you paste it into Quartz or AWS.
| Platform | Fields | Day of week | Key differences |
|---|---|---|---|
| Linux crontab (cronie / Vixie) | 5: min hour dom month dow | 0–7, 0 and 7 = Sunday | Runs in the server’s local time; dom/dow use OR when both are set |
| Quartz Scheduler (Java, Spring-style) | 6 required + optional year: seconds min hour dom month dow [year] | 1–7, SUN–SAT | Adds ?, L, W, #; one of dom/dow must be ? |
| AWS EventBridge rules | 6: min hour dom month dow year | 1–7, SUN–SAT | UTC only; no seconds; one of dom/dow must be ? |
GitHub Actions schedule | 5 (POSIX cron) | 0–6 or SUN–SAT | UTC by default; shortest interval every 5 minutes; no @daily-style macros; can be delayed at busy times |
Example: “every weekday at 9 AM” is 0 9 * * 1-5 in Linux and GitHub Actions, 0 0 9 ? * MON-FRI in Quartz, and cron(0 9 ? * MON-FRI *) in AWS EventBridge. Sources: Quartz CronExpression reference, AWS EventBridge schedule expressions, GitHub Actions schedule event.
Where Cron is Used
Cron expressions are used far beyond traditional Unix crontab files. Modern cloud platforms and DevOps tools have adopted the cron syntax as a universal scheduling standard. AWS CloudWatch Events, Google Cloud Scheduler, Azure Functions, GitHub Actions, and Kubernetes CronJobs all use cron expressions to define recurring schedules. CI/CD platforms like Jenkins and CircleCI use cron syntax for scheduled pipeline triggers. Even application frameworks like Spring (Java) and Celery (Python) support cron-style scheduling for background tasks.
Understanding cron syntax is a fundamental skill for anyone working in software operations. Whether you need to schedule database backups, send automated email reports, rotate log files, clean up temporary data, trigger deployment pipelines, or run periodic health checks, cron expressions provide a concise and standardized way to define when these tasks should execute. This generator removes the guesswork by letting you build the expression visually and immediately verify that it produces the schedule you intend.
Last updated: October 2026
Frequently Asked Questions
What is a cron expression?
A cron expression is a string of five fields separated by spaces that defines a recurring schedule. The five fields represent minute, hour, day of month, month, and day of week. Cron expressions are used in Unix-like systems, cloud platforms, and many DevOps tools to schedule automated tasks like backups, reports, and maintenance scripts.
What does the asterisk (*) mean in cron?
The asterisk is a wildcard that means "every" possible value for that field. For example, an asterisk in the hour field means "every hour," and an asterisk in the day-of-week field means "every day of the week." Combining asterisks with specific values in other fields lets you create precise schedules.
What does */5 mean in a cron expression?
The slash notation (*/5) means "every 5th" value. In the minute field, */5 means the job runs every 5 minutes (at 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 minutes past the hour). You can use this notation in any field — for example, */2 in the hour field means every 2 hours.
What is the difference between 5-field and 6-field cron expressions?
The standard Unix cron format uses 5 fields: minute, hour, day of month, month, and day of week. Quartz Scheduler adds a seconds field at the beginning (plus an optional year at the end), and AWS EventBridge uses 6 fields with a year at the end and ? in one of the day fields. This tool builds and explains standard 5-field expressions, the format used by Linux crontab and GitHub Actions.
How can I test if my cron expression is correct?
This tool shows the next 5 scheduled run times for your cron expression, which is the best way to verify it behaves as expected. Check that the dates and times match your intended schedule. If the next run times do not look right, adjust the field values and regenerate until the schedule is correct.
What is the cron expression for every 5 minutes?
The cron expression for every 5 minutes is */5 * * * *. The */5 step in the minute field fires at minutes 0, 5, 10 and so on up to 55, and the four asterisks mean every hour, day, month and weekday. On GitHub Actions, every 5 minutes is also the shortest interval a scheduled workflow can use.
What happens if both day of month and day of week are set in cron?
In standard Linux cron, if both fields are restricted (neither starts with *), the job runs when either one matches. For example, 30 4 1,15 * 5 runs at 4:30 AM on the 1st and 15th of every month and also every Friday. Quartz and AWS EventBridge do not allow both: one of the two fields must be ?.