Cron expression parser

Paste a five-field crontab expression and get a plain-English explanation plus the next five times it will fire — calculated in your own timezone.

How to read a cron expression

A crontab line has five fields, left to right:

  • minute — 0-59
  • hour — 0-23
  • day of month — 1-31
  • month — 1-12 (JAN-DEC also accepted)
  • day of week — 0-6, Sunday is 0 (SUN-SAT also accepted)

Each field can be * (any), a list (1,15), a range (9-17), a step (*/10 or 10-50/5), or a combination.

The day-of-month / day-of-week trap

If both day fields are restricted (neither is *), standard cron runs the job when either matches — not both. So 0 0 13 * 5 fires on every Friday and on the 13th of every month. This tool follows that vixie-cron behavior, and the next-runs table makes it visible.

Timezones matter more than syntax

Cron evaluates in the machine's timezone — usually UTC on servers. The next-runs table here shows both your local time and UTC, because the most common cron bug is a schedule silently firing five hours early or late. Check TZ or CRON_TZ on your system before blaming the expression.

FAQ

Does it support 6-field expressions with seconds?

No — this parses the standard 5-field crontab format used by vixie-cron and most Linux schedulers. Quartz-style 6/7-field expressions (with seconds and a year) are a different dialect.

What about @daily, @hourly and @reboot?

Those shorthand macros are not parsed yet. Their expansions are simple: @daily is 0 0 * * *, @hourly is 0 * * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * *.

Why do the next runs differ from my server?

Timezone. This page computes in your browser's timezone; your server may run UTC. Compare the UTC column against the server's clock to isolate the difference.

Is anything uploaded?

No. Parsing and the next-run search run locally in your browser.

Other tools