Dev · Live
Cron Expression Descriptor,
schedules in plain English.
Paste any cron expression to instantly translate it into human-readable English and view the next 10 scheduled execution times in both local and UTC time.
Cron Expression
Field Breakdown
Minute
0
0
0–59
Hour
9
9 AM
0–23
Day/Month
*
Any
1–31
Month
*
Any
1–12
Day/Week
1-5
Mon–Fri
0–6
Common Presets
Special Characters
*Every value,Value list (1,3,5)-Range (1-5)/Step (*/5)LLast (day of month)?No specific valueHuman-Readable Translation
Fix the expression to see the translation.
Field guide
How cron expressions work.
Cron is a time-based job scheduler built into Unix-like operating systems. A cron expression is a compact string that specifies when a task should run. The name comes from the Greek word for time,chronos. Cron has been part of Unix since 1975 and is still the dominant mechanism for scheduling recurring tasks on servers, in containers, and in cloud functions.
A standard cron expression has exactly 5 fields separated by spaces. Each field controls one dimension of the schedule:
│ ┌──────── Hour (0–23)
│ │ ┌────── Day of month (1–31)
│ │ │ ┌──── Month (1–12)
│ │ │ │ ┌── Day of week (0–6, Sun=0)
│ │ │ │ │
* * * * *
Some implementations (Quartz Scheduler, AWS EventBridge, GitHub Actions) add a sixth field for seconds, prepended before the minute field. This tool supports both 5-field and 6-field formats.
Special characters
Each field can contain a literal value, a wildcard, or a combination of the following operators:
*(asterisk) — matches every possible value in the field.* * * * *runs every minute of every day.,(comma) — separates multiple values in a list.0 8,12,18 * * *runs at 8 AM, noon, and 6 PM.-(hyphen) — defines an inclusive range.0 9-17 * * *runs every hour from 9 AM through 5 PM./(slash) — defines a step.*/15 * * * *runs every 15 minutes.0-30/5 * * * *runs every 5 minutes in the first half of each hour.L— means "last". In the day-of- month field,Lmeans the last day of the month.0 0 L * *runs at midnight on the last day of each month.?— means "no specific value", used in some implementations to avoid conflicts between the day- of-month and day-of-week fields.
Common patterns and their meaning
0 * * * * At the start of every hour
0 0 * * * Daily at midnight
0 0 * * 0 Every Sunday at midnight
0 9 * * 1-5 Weekdays at 9 AM
0 0 1 * * First day of every month
*/5 * * * * Every 5 minutes
0 8,20 * * * Twice daily at 8 AM and 8 PM
0 0 1,15 * * 1st and 15th of every month
Month and day-of-week names
Many cron implementations accept abbreviated month names (JAN–DEC) and day-of-week names (SUN–SAT) as alternatives to numbers. Day numbering varies: most systems use Sunday=0 through Saturday=6, but some use Monday=1 through Sunday=7. Always check your target system's documentation.
Timezone considerations
Cron daemons run in the timezone of the server or container. A job scheduled with 0 9 * * 1-5 runs at 9 AM in the server's local time, which may differ from your time. Cloud platforms like AWS EventBridge use UTC by default. When collaborating across timezones, always document the timezone assumption alongside the expression.
This tool calculates execution times relative to your browser's local timezone and shows the equivalent UTC time alongside each scheduled date. Both views update as you type.
6-field expressions (with seconds)
When a sixth field is added, it is placed at the beginning and represents seconds (0–59). The format becomes:
0 */5 * * * * Every 5 minutes, on the minute
0 0 12 * * ? At noon (Quartz-style, ? for DOW)
AWS Lambda, Kubernetes CronJobs, and Spring's@Scheduled annotation all use 6-field format. GitHub Actions uses a variant where Sunday can be specified as either 0 or 7.
Testing and validating cron expressions
Before deploying a cron job, always validate the expression by reviewing at least the next 5 to 10 execution times. A common mistake is setting */1 (same as *, runs every minute) when the intention was to run once per hour (0 * * * *). Another frequent error is confusing day-of-month and day-of-week, leading to jobs that never run because both fields restrict the schedule simultaneously.