Cron Schedule Translator — Decode Any Cron Expression
A cron expression uses 5 space-separated fields to define repeating schedules. This tool translates any cron string into plain descriptive English, helping you understand what a schedule actually means without memorizing cron syntax. It works as the inverse of a cron builder — paste an expression you found in a config file, and read the schedule.
How Field Values Work
Each field accepts several value types: wildcards (*) mean “every”; plain numbers set a specific value; ranges (1-5) cover consecutive values; lists (1,3,5) cover multiple values; and step values (*/15) set intervals. Month and day-of-week fields also accept three-letter abbreviations (JAN, MON). This decoder handles all standard formats.
Common Cron Patterns
The example buttons show frequently used patterns: every 15 minutes (*/15 * * * *), weekdays at 9 AM (0 9 * * 1-5), monthly on the 1st at 2:30 PM (30 14 1 * *), and every 2 hours (0 */2 * * *). Each example translates instantly so you can learn from real patterns.
Frequently Asked Questions
Q:What is a cron expression?
A cron expression is a string of 5 fields (space-separated) that defines a repeating schedule: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12 or JAN-DEC), and day-of-week (0-7, where 0 and 7 = Sunday). A wildcard (*) means "every possible value" for that field. For example, "30 9 * * 1-5" means "at 9:30 AM, Monday through Friday."
Q:How do I read */15 in a cron field?
The slash (/) is a step operator. "*/15" in the minute field means "every 15 minutes" (0, 15, 30, 45). "*/2" in the hour field means "every 2 hours" (0, 2, 4, 6...). Steps can also start from a specific value: "10-59/5" means "starting at minute 10, every 5 minutes until minute 59."
Q:What do commas and hyphens mean in cron?
Commas create a list — "1,3,5" matches those specific values. Hyphens create a range — "1-5" matches values 1 through 5. Both can be combined: "1,3,5-7" means 1, 3, 5, 6, 7. List elements can also use step notation: "1-10/3" means 1, 4, 7, 10.
Q:Can I use both day-of-month and day-of-week together?
Yes, but be careful. When both fields contain specific values (not *), cron runs if EITHER condition matches. For example, "0 0 15 * 5" runs at midnight on the 15th day of the month AND every Friday. If you mean "the 15th AND it must be Friday," you cannot express that in standard cron — use a script wrapper instead.
Q:What is the difference between @daily and @midnight?
Both expand to "0 0 * * *" (midnight every day). They are aliases in most cron implementations. @hourly expands to "0 * * * *" (every hour at minute 0), @weekly to "0 0 * * 0" (Sunday midnight), @monthly to "0 0 1 * *" (first of the month), and @yearly to "0 0 1 1 *" (January 1st).