Free Cron Expression Parser
This free cron expression parser turns a schedule like 0 9 * * 1-5 into plain English as you type. It reads 5, 6 and 7 fields, day names, and L, W and #.
Runs:At 09:00 AM, Monday through Friday
Common presets
How to Parse a Cron Expression
Enter a cron expression.
Type or paste it in the box, or tap one of the eight presets. Five fields is standard, and 6- and 7-field forms work too.
Read the plain-English summary.
The description under the box updates as you type. A red message means a value is out of range or isn't valid cron.
Read the description, then copy.
The red message flags values that are out of range. Click Copy to put the expression on your clipboard, ready for a crontab, a CI workflow file or a cloud scheduler.
Frequently Asked Questions
Answers about cron syntax, special characters, time zones and run times.
What is a cron expression?
A cron expression is a line of 5 fields that sets a repeating schedule: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-7, where 0 and 7 are Sunday). For example, 0 9 * * 1-5 means 9 AM on weekdays.
What do *, /, - and , mean in cron?
A star means every value, a comma lists values (1,15), a dash sets a range (9-17) and a slash sets a step (*/15 is every 15 minutes). You can mix them, as in 0 9-17/2 * * 1-5 for every two hours from 9 AM to 5 PM on weekdays.
How do I write a cron job that runs every 5 minutes?
Use */5 * * * *. The */5 in the minute field means every fifth minute from :00, and the four stars mean every hour, day, month and weekday. For every 15 minutes, use */15 * * * *, which is one of the presets on this page.
What is the difference between 5-field and 6-field cron?
Classic Unix crontab uses 5 fields. Quartz, Spring and some Node libraries add seconds as the first field, and AWS EventBridge adds a year at the end. This parser explains 5, 6 and 7 fields, but lists next run times only for the 5-field form.
What do @daily, @weekly and @reboot mean?
They are crontab shortcuts. @hourly is 0 * * * *, @daily is 0 0 * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * * and @reboot runs once when the server starts. The parser explains them, but shows next run times only for the 5-field form.
Can I use L, W, # and ? in a cron expression?
Classic crontab doesn't support them, but Quartz and many cloud schedulers do. L means last (0 0 L * * is the last day of the month), W the nearest weekday, # the nth weekday (1#2 is the second Monday) and ? no specific value. The parser explains all four.
Why does my Quartz expression show the wrong weekday?
The parser reads weekday numbers the Unix way: 0 or 7 is Sunday and 6 is Saturday. Quartz counts 1 for Sunday through 7 for Saturday, so its numbers read one day off here. Write day names such as MON-FRI or SAT to avoid the mix-up.
Why does my cron job not run when expected?
The usual cause is the time zone: cron uses the server's zone, while this page lists runs in your own local time. Also, when both the day-of-month and weekday fields are set, cron runs on either one, so 0 0 13 * 5 fires every 13th and every Friday.
Why does the parser say my expression is invalid?
Each field has a range: minute 0-59, hour 0-23, day 1-31, month 1-12 and weekday 0-7. A value outside it, a stray letter, fewer than 5 fields or more than 7 turns the result red. Paste only the time fields, not the command or a cron( ) wrapper.
What time zone are the next run times in?
They use your browser's time zone and date format, starting from the next whole minute. There is no zone picker, so shift the times by your offset if your server uses UTC.
Is this cron parser free and private?
Yes, it's free with no account or usage limit, and expressions are never saved. On the live site, Google Analytics counts each edit. When an expression fails to parse, the error text goes with that count, and it can quote the bad value, such as a command name.
What This Cron Expression Parser Does
It explains each expression in plain English, flags values that are out of range and lists upcoming runs, with eight presets to start from.

Translate Cron Expressions to Plain English
Type or paste an expression and the description updates as you type, such as At 09:00 AM, Monday through Friday. It reads 5, 6 and 7 fields, day and month names, L, W and #.
- Updates on every keystroke
- Reads seconds and year fields too
- Understands L, W, # and ?

Preview Upcoming Cron Run Times
For 5-field expressions, the page lists 5 upcoming times from the next minute in your browser's time zone. Day and weekday follow standard cron rules, so 0 9 * * 1-5 lists weekdays only.
- Next 5 runs from the next minute
- Shown in your local time zone
- A preview for 5-field expressions
Eight One-Tap Presets
Tap a chip to fill the box. The eight presets cover every minute, 15 minutes, hour, midnight, noon, Mondays at 9 AM, Sundays at midnight and the first of the month.
Catches Out-of-Range Values
A minute of 60, an hour of 25, day 32, month 13 or a stray letter turns the result red, so you spot a typo before it reaches your crontab.
Copy the Expression
The Copy button puts the exact expression from the box on your clipboard, ready to paste into a crontab, a CI workflow file or a cloud scheduler.
Free, No Sign-Up
Use it as often as you like, with no account. Expressions aren't saved. On the live site, Google Analytics counts each edit, and a failed parse also sends its error text.
Cron Parser Use Cases
Read a schedule and check its next run times before you ship it, wherever cron syntax shows up.
Server Cron Jobs
Paste the five time fields from a Linux crontab line to read what the job does before you add it to a server. Leave out the command after them.
- Read backup and log rotation schedules
- Spot a minute or hour that is out of range
- Check which days the job runs before it goes live
CI/CD Pipelines
GitHub Actions and GitLab CI schedules use standard 5-field cron. Read the expression here before you commit the workflow file, and keep in mind which time zone the runner uses.
- Cron lines in GitHub Actions workflow files
- Interval patterns for GitLab CI pipeline schedules
- Remember that GitHub Actions schedules run in UTC
Cloud Schedulers
Quartz, Spring and cloud schedulers add a seconds or year field and use ? for a day. Paste the expression without any cron( ) wrapper to read it in plain English.
- EventBridge six-field rules like 0 12 * * ? *
- Quartz and Spring expressions with seconds first
- Day names such as MON-FRI and JAN
Explore More Tools
Discover other free tools that work great alongside this one
Timestamp Converter
Convert Unix timestamps to human-readable dates
JSON Formatter
Format, validate and minify JSON in your browser
Regex Tester
Test and debug regular expressions live
UUID Generator
Generate random v4 UUIDs, one or up to 100 at once
Base64 Encoder
Encode and decode Base64 strings
Hash Generator
Generate SHA-1, SHA-256 and SHA-512 hashes of text or files