Parse cron expressions

Free online cron expression parser that runs in your browser. Paste a 5-field crontab line (or 6-field with seconds, or a @yearly / @monthly / @weekly / @daily / @hourly alias) and the tool explains what it means in plain English, lists the next 10 times it will fire in your local timezone (with a UTC toggle), and breaks down each field. Quasi-random expressions like "*/15 9-17 * * MON-FRI" are decoded the same way as plain "0 9 * * *". Useful for verifying a crontab before pasting it on a server.

How to use

1
Paste an expression

Any 5- or 6-field crontab line, or an @alias.

2
Read the description

Plain-English explanation of when it fires.

3
Browse the next runs

Ten upcoming fire times, defaulting to your local time.

4
Toggle UTC

Verify against what your server cron expects.

Read any cron expression — human description, ten upcoming run times, per-field breakdown

Flavor:

Description

Fields

Next 10 runs (your local time)

Field reference

* * * * * = Minute (0-59) · Hour (0-23) · Day of month (1-31) · Month (1-12 (or JAN-DEC)) · Day of week (0-6 (Sunday=0, also SUN-SAT))
Special characters: * (any) , (list) - (range) / (step)
Don't know what to try?
400+ free tools — open a surprise
🎲 Surprise me

Features

Parse 5- and 6-field expressions Special aliases All cron syntax Next 10 runs Field breakdown Presets

Typical uses

  • Verify a complex schedule like "*/15 0-6 * * MON-FRI" before pasting it on a production server.
  • Find the next 10 fire times to plan a deployment window around a scheduled job.
  • Decode a cron expression someone wrote into your repo without leaving any comment.
  • Convert between server-time and your local time for an on-call rota.
  • Build a Quartz expression (with seconds) and validate it before pushing to a Java app.

Why this one

Most cron tools either explain the expression OR list next runs — not both. We do both, plus a per-field breakdown that helps you spot the field where you slipped a digit. Calculation runs entirely in your browser, so there is no rate limit or signup. Both classic 5-field crontab and Quartz-style 6-field (with seconds) work.

Common questions

What is the difference between 5-field and 6-field cron?

Traditional Unix cron uses 5 fields: minute, hour, day-of-month, month, day-of-week. Quartz (used by Java schedulers, Spring Boot, etc.) prepends a "second" field for 6 fields. We auto-detect: 5 tokens → classic, 6 tokens → Quartz.

What is the timezone of the parsed schedule?

Cron expressions themselves have no timezone — the server interprets them in its local timezone. The tool shows next runs in your browser's local timezone by default and offers a UTC toggle. If your server runs in a different zone, the times will differ; check your crontab's TZ= line or the container's TZ env.

Why does "*/5" mean "every 5"?

The step character "/" combined with "*" means "start at the field minimum and step by N". So */5 in the minute field is 0, 5, 10, 15, … 55. You can also write 10/5 (start at 10, step by 5: 10, 15, 20, …).

What about "L" / "W" / "#" modifiers (last weekday, etc.)?

Those are Quartz extensions (Spring Scheduler, Hangfire, etc.) and not part of POSIX cron. The current version of this tool does not support them. If your scheduler uses them, validate in the scheduler's own UI.

Why does the day-of-month and day-of-week both filter "OR"?

POSIX cron quirk: if BOTH day-of-month and day-of-week are restricted (i.e., not "*"), the job runs when EITHER matches. So "0 0 1 * MON" fires on the 1st of every month AND every Monday — many people mis-read it.

Mobile?

Yes. The expression input is monospaced; the schedule list scrolls.

💡 Want us to improve this tool just for you?

We can — and it's free! Just send us a quick message with your idea. If you'd like to discuss it in detail, leave your email and we'll get back to you. You can stay anonymous.

How do you rate this tool?

Thank you for your rating!
Want to share more? Leave a comment!
Thank you! Your comment will appear after moderation.
Published Updated