Categories
Pages
<>

Cron Expression Parser

Parse cron expressions to plain English and show the next scheduled run times. Validates syntax for

LIVE
314
Uses
1
Select typeChoose conversion direction
2
Enter amountType the value to convert
3
Get resultsSee live conversion rates
CRON EXPRESSION
:

Copy the code below to embed this calculator on your website:

<iframe src="https://calculatorcafe.com/widget/cron-expression/" width="100%" height="500" frameborder="0" style="border:1px solid #e2e8f0;border-radius:12px"></iframe>

Free to use · Links back to CalculatorCafe

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?
Yes, completely free with no registration, no ads tracking, and no usage limits.
Is my data kept private?
Yes. All processing happens in your browser. No data is sent to any external server.
Does it work on mobile devices?
Yes. Fully responsive design works on phones, tablets, and desktop computers.
Can I use the results commercially?
Yes. Output is yours to use for any personal or commercial purpose without restriction.
How accurate are the results?
Uses industry-standard algorithms tested across edge cases. Verify against known values for critical applications.
How do I report a bug or suggest a feature?
Use the feedback option on the page or contact us through the site. We actively maintain and improve all tools.
USER RATINGS

Rate This Calculator

Your feedback helps us improve our tools