Skip to main content

Cron Expression Parser

Translate a cron expression to plain English and preview the next five run times.

Written by Golam Rabbani, Founder & Lead Engineer

5 fields: minute hour dom month dow — e.g. */15 * * * * or 0 9 * * 1-5

Supports *, */N, A-B, A-B/N, A,B,C, and month/day aliases like MON, JAN.

How to use this cron expression parser

  1. Type a 5-field cron expression into the "Cron Expression" input (e.g. 0 9 * * 1-5).
  2. Click Parse to validate the expression and generate results.
  3. Read the "Plain English" description to confirm the schedule means what you expect.
  4. Scan the "Next 5 run times" list to verify the upcoming execution dates and times.
  5. Click "Copy result" to put the description and next-run list on your clipboard.

About this cron expression parser

The cron expression parser takes a standard 5-field cron expression and returns a plain-English schedule summary plus the next five scheduled run times computed from the current moment.

The 5-field format — in order: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), day-of-week (0–6, where 0 = Sunday) — follows the POSIX/Vixie crontab convention used by Linux cron daemons. Each field accepts a wildcard (*), a step value (*/N or A-B/N), a hyphen-delimited range (A-B), a comma-separated list (A,B,C), or any combination. Month fields also accept three-letter aliases JAN through DEC; day-of-week fields accept SUN through SAT. This is the classic 5-field format, not the 6-field Quartz scheduler format — there is no seconds field and no support for the L, W, or ? modifiers. Next-run times are computed by advancing minute by minute from the current time, checking all five fields, and collecting the first five matches; if no match is found within roughly 10 weeks the tool reports that the expression never fires in that window.

As a worked example, entering */15 9-17 * * 1-5 produces the description "Every 15 minutes at hours 9, 10, 11, 12, 13, 14, 15, 16, 17 on weekdays". If today is a Tuesday at 10:05, the first listed run time would be 10:15 that same day, followed by 10:30, 10:45, 11:00, and 11:15. All parsing and scheduling runs locally in your browser.

FAQ

What does a cron expression parser do?
A cron expression parser reads a 5-field schedule string and translates it into a human-readable description, then calculates the next several times the schedule would fire. It helps you confirm that a cron expression behaves exactly as intended before deploying it.
What is the difference between Vixie/POSIX cron and Quartz cron?
Quartz adds a sixth field for seconds, plus special characters L (last), W (nearest weekday), and ? (no specific value). This tool uses the 5-field POSIX/Vixie format — no seconds field, no L, W, or ? — which is the format used by standard Unix/Linux cron daemons and most cloud schedulers.
How does day-of-week numbering work?
0 equals Sunday and 6 equals Saturday. You can also use three-letter aliases: SUN, MON, TUE, WED, THU, FRI, SAT. So 1-5 and MON-FRI both mean Monday through Friday.
How do step values like */15 or 1-5/2 work?
*/N means "every N units across the full range". For example, */15 in the minute field fires at minutes 0, 15, 30, and 45. A-B/N restricts the range first: 1-5/2 in the day-of-week field fires on days 1, 3, and 5 (Monday, Wednesday, Friday).
Which time zone does the parser use for next-run times?
Next-run times are computed using your browser's local time — the same clock your operating system displays. No time-zone conversion is applied, so results match what a local cron daemon on the same machine would schedule.
Why might the tool report "No future runs within ~10 weeks"?
Some expressions are valid but fire very rarely — for example, 0 0 31 2 * (midnight on 31 February) can never match because February never has 31 days. The parser searches up to 100,000 minutes forward; if no match is found in that window it reports that the expression will not fire rather than looping indefinitely.