CronTool
Cron expression editor & debugger

Cron Parser — parse and validate cron expressions online

Paste any cron expression and CronTool's parser tokenizes every field, validates the values against the accepted ranges, and emits a calendar of upcoming runs plus a plain-English description. The same parser @datasert/cronjs-parser backs production cron runtimes.
A cron parser does three things at once: lex the syntax, validate each field against its range, and project the schedule onto real timestamps. Skip any of those and you ship a cron that parses fine but never fires.

Examples

  • 018***
    Every day at 18:00
  • 0*/5***
    Every 5 hours
  • 018**1-5
    Weekdays at 18:00
  • 001**
    Once a month

Cheatsheet

FieldRequiredValues RangeWildcardsminuteYes0-59, - * / hourYes0-59, - * / day of monthYes1-31, - * / L W monthYes1-12, - * /day of weekYes0-7, - * / L

Calendar

View future cron matches in a calendar

April 2026

Showing next 1000 cron schedules

Loading...

What the cron parser does

  1. Tokenize — split the string into fields by whitespace, detect 5/6/7-field shapes, and split each field into atoms (literals, ranges, lists, steps, modifiers).
  2. Validate — check each atom against the field range (minute 0-59, hour 0-23, etc.). Surface the offending field if anything is off.
  3. Compute next matches — given a start time (now, by default), compute the next N timestamps the expression fires. This is the bit a parser alone can't do — you need the matcher too.

Cron parser libraries by language

Parser edge cases to watch

  • 5 vs 6 vs 7 fields — different parsers count differently. Standard cron is 5; AWS is 6; Quartz is 6 or 7. The same string parses to different schedules under different dialects.
  • Day-of-week 0 vs 7 — both are Sunday in Unix cron, but Quartz uses 1-7 (1=Sunday). Always verify against the calendar.
  • February 31 — most parsers accept it as syntactically valid but it never fires. The matcher silently returns no matches.
  • Daylight saving — runs in the skipped hour are skipped; runs in the repeated hour fire twice. Most parsers don't flag this.

Frequently asked questions

How do I parse a cron expression?

Paste the cron string into CronTool. The parser tokenizes each field, validates the values, and emits both an English description and a calendar of upcoming runs. Same logic as `@datasert/cronjs-parser` and the parsers used by major schedulers.

What library should I use to parse cron in code?

For Node.js: `@datasert/cronjs-parser` (the one CronTool uses) plus `@datasert/cronjs-matcher` for next-run computation. For PHP: `dragonmantank/cron-expression`. For Go: `robfig/cron`. For Java: Quartz Scheduler or Spring's CronExpression. For .NET: NCRONTAB. CronTool's parser matches each library's runtime behaviour for standard syntax; for L, W, #, ?, see the dialect-specific guides.

Why is my cron failing to parse?

Most common reasons: wrong field count (5 vs 6 vs 7), out-of-range value (hour 24, minute 60, day 32), unsupported modifier in the chosen dialect (`?` is Quartz/AWS only; `L` requires extended cron; `W` is Quartz-specific). The parser highlights the offending field and surfaces the error message verbatim.

Is there an online cron parser I can use?

Yes — this page. The parser runs entirely in your browser; nothing is sent to a server. For programmatic parsing in your own code, install the npm `@datasert/cronjs-parser` package or the equivalent for your runtime.

What does the cron parser output?

Three things: a parsed AST you can inspect field-by-field, an English description of the schedule, and a list of next match timestamps in your local timezone (and UTC). CronTool wires them together so you see all three on one page.

Ready to schedule it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

Your next schedule
GET/wp-cron.php?doing_wp_cron=1

Schedule

every 5 minutes

Next run

in 23s

Apihustle Logo

This tool is part of the Apihustle suite - a collection of tools to test, improve and get to know your API inside and out.

  • Clobbr logo

    Clobbr

    The app & CLI tool to test API endpoint speed.

    Visit
  • Crontap logo

    Crontap

    Schedule recurring API calls using cron syntax.

    Visit
  • CronTool logo

    CronTool

    Debug multiple cron expressions on a calendar.

    Visit

  • Page AI

    AI Website Generator that designs and writes clean code.

    Visit
  • Shipixen

    Generate customized boilerplates in minutes.

    Visit
  • Page UI

    Landing page UI components for React & Next.js

    Visit