Cron Expression Parser
Parse cron expressions and preview the next run times
What is Cron Expression Parser?
A cron expression parser breaks a five-field schedule down field by field and calculates the next eight times it will actually fire, in whichever time zone you choose. It answers the only question that really matters — when does this job run — without waiting for it to run. Parsing happens locally in your browser.
How to use Cron Expression Parser
- 1Enter a cron expression, or pick a common schedule from the presets.
- 2Read the field breakdown and confirm the allowed range of each field.
- 3Check the next eight run times on the right against what you expected.
- 4Switch the time zone as needed — your server time zone is often not your local one.
How do I do this in code?
Use the tool above for one-off work; for anything you repeat, move it into a script or your project.
# min hour day-of-month month day-of-week command */15 9-18 * * 1-5 /usr/local/bin/sync.sh >> /var/log/sync.log 2>&1 # List the current user's scheduled jobs crontab -l
Common errors and how to fix them
| Symptom | Cause | Fix |
|---|---|---|
| The job also fires at times you never scheduled | When the day-of-month and day-of-week fields are both restricted, cron ORs them together rather than ANDing them. | For semantics like "the 1st of the month, but only when it is a Monday", schedule the looser condition and re-check the date inside the script itself. |
| The job runs a few hours earlier or later on the server than expected | cron follows the server time zone, while you read the expression in your own local time. | Switch this tool to the server time zone to confirm, or set the TZ environment variable explicitly in the container. |
Frequently asked questions
What is the difference between 5-field and 6-field cron expressions?+
Linux crontab uses five fields (minute, hour, day of month, month, day of week) and cannot schedule anything finer than a minute. Quartz, common in the Java ecosystem, uses six or seven: it adds a seconds field at the front and an optional year field at the end. Pasting a Quartz expression into crontab fails outright — drop the seconds field first.
Are */15 and 0,15,30,45 equivalent?+
In the minute field, yes. But a step always counts from the lowest value of the field rather than from now: */5 in the hour field means 0, 5, 10 and so on, not "every five hours starting from the current hour", which is where intuition usually goes wrong.
Related tools
All toolsUnix Timestamp Converter
Convert Unix timestamps to dates and back, seconds or milliseconds
Timezone Converter
Compare a time across several zones, daylight saving handled for you
Date Difference Calculator
Calculate the gap between dates, including business days
Number Base Converter
Convert between binary, octal, decimal, and hexadecimal
Byte Size Converter
Convert storage units, keeping base 1024 and base 1000 apart
Unit Converter
Convert length, weight, area, volume, and speed