Cron Expression Parser

Parse cron expressions and preview the next run times

Runs in your browserDebugging06Date & Number

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

  1. 1Enter a cron expression, or pick a common schedule from the presets.
  2. 2Read the field breakdown and confirm the allowed range of each field.
  3. 3Check the next eight run times on the right against what you expected.
  4. 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

SymptomCauseFix
The job also fires at times you never scheduledWhen 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 expectedcron 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 tools