Cron Expression Parser
Parse cron expressions, get human-readable descriptions, and preview next run times. 100% client-side — works offline.
Format: minute hour day month weekday (5 fields) or second minute hour day month weekday (6 fields). Supports *, ,, -, /, and @daily etc.
📖 Human-Readable Description
At 09:00 on Monday, Tuesday, Wednesday, Thursday, and Friday.
5-field standard cron
📊 Field Breakdown
| Field | Value | Meaning |
|---|---|---|
| Minute | 0 | at minute 0 |
| Hour | 9 | at hour 9 |
| Day of month | * | every day |
| Month | * | every month |
| Day of week | 1-5 | Monday, Tuesday, Wednesday, Thursday, and Friday |
⏰ Next 10 Run Times
#1Mon, Oct 12, 2026, 09:00
#2Tue, Oct 13, 2026, 09:00
#3Wed, Oct 14, 2026, 09:00
#4Thu, Oct 15, 2026, 09:00
#5Fri, Oct 16, 2026, 09:00
#6Mon, Oct 19, 2026, 09:00
#7Tue, Oct 20, 2026, 09:00
#8Wed, Oct 21, 2026, 09:00
#9Thu, Oct 22, 2026, 09:00
#10Fri, Oct 23, 2026, 09:00
🔒 100% private: All parsing happens in your browser. Your cron expressions never leave your device. Next-run times use your local timezone.
About Cron Expression Parser
Cron is the standard scheduling system on Linux, macOS, and Unix-like systems. A cron expression is a compact string of 5 (or 6) fields that specifies when a job should run — every hour, every Monday at 3 AM, every first day of the month, and so on. Cron syntax is powerful but notoriously cryptic: "0 3 * * 1" is not obviously "3 AM every Monday". This tool parses any cron expression, explains what it means in plain English, validates the syntax, and previews the next 10 run times. It supports both classic 5-field cron and 6-field cron with seconds. Everything runs in your browser.
How It Works
- Enter a cron expression in the input field (5 or 6 fields separated by spaces).
- The tool parses each field and displays a human-readable description.
- See the next 10 scheduled run times based on the current time.
- Use the preset buttons to quickly load common schedules (daily, hourly, weekly, etc.).
✨ Key Features
- ✓Parse both 5-field (standard) and 6-field (with seconds) cron
- ✓Human-readable description in plain English
- ✓Live validation with error messages
- ✓Next 10 execution times preview
- ✓Support for ranges (1-5), lists (1,3,5), steps (*/15)
- ✓Special values: @yearly, @monthly, @weekly, @daily, @hourly
- ✓Preset buttons for common schedules
- ✓Timezone-aware (uses your local time)
- ✓100% client-side — no data sent to any server
🎯 Common Use Cases
- →Debugging crontab entries that run at unexpected times
- →Verifying CI/CD pipeline schedules before deploying
- →Translating "0 9 * * 1-5" to "weekdays at 9 AM"
- →Preparing cron expressions for documentation
- →Teaching cron syntax to team members
- →Previewing next run times to avoid overlap with other jobs
- →Validating cron expressions before saving to a scheduler
- →Building Kubernetes CronJob schedules
💡 Advanced Tips & Pro Insights
- ▸Cron uses OR logic for day-of-month and day-of-week: "0 0 1 * 1" runs on the 1st of the month OR every Monday, not both.
- ▸The step operator "/" divides a range. "*/15" in the minute field means every 15 minutes.
- ▸Use "@daily" as shorthand for "0 0 * * *", "@hourly" for "0 * * * *". Also "@weekly", "@monthly", "@yearly" (or "@annually").
- ▸Sunday is both 0 and 7 in the day-of-week field. Both mean Sunday.
- ▸The month field uses numbers 1-12 (January = 1). Many modern schedulers also accept 3-letter names: JAN, FEB, MON, TUE.
Frequently Asked Questions
Is this cron parser free?▾
Yes, this cron expression parser is completely free with no signup, email, or usage limits.
Is my data safe?▾
Yes, 100% safe. All parsing happens in your browser. Your cron expressions are never sent to any server.
What is a cron expression?▾
A cron expression is a string of 5 (or 6) space-separated fields that specify when a task should run: minute, hour, day of month, month, day of week (and optionally seconds as the first field). Examples: "0 9 * * 1-5" means 9 AM on weekdays.
What does "*" mean in cron?▾
An asterisk (*) means "every" — the task runs at every value of that field. For example, "* * * * *" means every minute of every hour of every day.
What is the difference between 5-field and 6-field cron?▾
Standard 5-field cron is "minute hour day month weekday". Some systems (like Quartz, Spring) use 6 fields with seconds first: "second minute hour day month weekday". This tool auto-detects both.
How do I run a job every 15 minutes?▾
Use "*/15 * * * *". The "/" means "step" — every 15th minute. Other examples: "*/5 * * * *" (every 5 min), "*/30 * * * *" (every 30 min).
What is the day-of-month vs day-of-week OR behavior?▾
If BOTH day-of-month and day-of-week are restricted (not "*"), cron runs the job when EITHER matches. So "0 0 1 * 1" means the 1st of the month OR every Monday — not both. This surprises many users.
What is the timezone used?▾
Cron schedules use the system timezone (usually set on the server). This tool previews next runs in YOUR browser's local timezone. If your server is in UTC, adjust accordingly.