Cron Expression Parser
Parse cron expressions to plain English and show the next scheduled run times. Validates syntax for
Cron Syntax Translated to Plain English
A cron expression like "0 5 * * 1" means "at 5:00 AM every Monday." The expression "*/15 9-17 * * 1-5" means "every 15 minutes from 9 AM to 5 PM, Monday through Friday." These compact scheduling expressions are powerful but cryptic, especially when you encounter them months later in a configuration file without comments explaining what schedule they represent. Paste any cron expression above to see its human-readable translation in plain English, along with the next 10 scheduled execution times calculated from the current moment so you can verify the schedule is what you intended before deploying it.
The Five (or Six) Fields
Standard Unix cron uses five fields separated by spaces: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC), day of week (0-7, where both 0 and 7 represent Sunday, or SUN-SAT). Extended cron implementations (used by Quartz Scheduler in Java applications, Spring's @Scheduled annotation, and some cloud platforms) add a sixth field for seconds at the beginning: second minute hour day-of-month month day-of-week. When you encounter a 6-field expression, the first field is seconds; when you see 5 fields, seconds are not supported and the schedule's minimum granularity is one minute. The parser detects both formats automatically.
Special Characters and Combinations
Asterisk (*) matches every value in the field. Comma (,) creates a list of specific values: "1,15" in the day-of-month field means the 1st and 15th of each month. Dash (-) defines inclusive ranges: "1-5" in the day-of-week field means Monday through Friday. Slash (/) defines step intervals: "*/15" in the minute field means every 15 minutes (0, 15, 30, 45). These characters combine: "0 9-17/2 * * 1-5" means at minute 0 of every 2nd hour from 9 AM to 5 PM, Monday through Friday (9:00, 11:00, 13:00, 15:00, 17:00). Some implementations support additional characters: L (last, e.g., L in day-of-month means the last day of the month), W (nearest weekday to a given date), and # (nth weekday of the month, e.g., "5#3" means the third Friday). These extended characters are not universally supported and should be tested on your specific cron implementation.
Common Schedules Quick Reference
Every minute: * * * * *. Every 5 minutes: */5 * * * *. Every hour at minute 0: 0 * * * *. Daily at midnight: 0 0 * * *. Daily at 3:30 AM (common for maintenance): 30 3 * * *. Every Monday at 9 AM: 0 9 * * 1. Every weekday at 6 PM: 0 18 * * 1-5. Twice daily at 8 AM and 8 PM: 0 8,20 * * *. First day of every month at noon: 0 12 1 * *. Every quarter (Jan, Apr, Jul, Oct first day at midnight): 0 0 1 1,4,7,10 *. Every Sunday at 2 AM (weekly backup window): 0 2 * * 0. Every 15 minutes during US business hours: */15 9-17 * * 1-5. These patterns cover the vast majority of scheduling needs in deployment pipelines, backup scripts, report generation, data synchronization, certificate renewal, and log rotation tasks.
Time Zone Pitfalls and Daylight Saving
Traditional Unix cron runs in the server's configured time zone. A job scheduled for "0 2 * * *" runs at 2:00 AM in whatever time zone the cron daemon's environment is set to (usually the server's system time zone). During daylight saving spring-forward transitions, 2:00 AM may not exist (clocks jump from 1:59 AM to 3:00 AM), causing the job to be skipped entirely. During fall-back transitions, 2:00 AM occurs twice, potentially causing the job to run twice. Modern schedulers address this: Kubernetes CronJobs accept a CRON_TZ= prefix for explicit time zone specification, AWS EventBridge Scheduler supports time zone configuration per rule, GitHub Actions cron triggers run in UTC by default (which does not observe DST), and systemd timers offer both UTC and local time zone options. For critical jobs, schedule in UTC to avoid DST ambiguity entirely, or use a scheduler that explicitly handles time zone transitions.
Frequently asked questions
Is this tool free to use?
Is my data kept private?
Does it work on mobile devices?
Can I use the results commercially?
How accurate are the results?
How do I report a bug or suggest a feature?
Rate This Calculator
Your feedback helps us improve our tools