FormatterHQ

Cron Expression Parser

Type or paste a cron expression and get a plain-English description, a field-by-field breakdown and the next 10 scheduled run times.

Loading tool…
Ready.

How to use the Cron Expression Parser

  1. Enter a cron expression such as */15 9-17 * * MON-FRI, or click a preset or one of the common examples.
  2. Switch the list of the next 10 runs between local time and UTC.
  3. Optionally change a field in the visual builder; the expression and its description update to match.
  4. Read the explanation, the value of each field and the next run times.

Cron expression parser: understand any schedule at a glance

Cron expressions are compact but cryptic: 0 */6 * * 1-5 is hard to read even for experienced administrators. This cron expression parser turns each expression into a sentence, breaks it down field by field and calculates when it will actually run next, so you can confirm a schedule before deploying it.

Example

Expression:   */15 9-17 * * MON-FRI
Description:  Every 15 minutes, between 09:00 and 17:59, Monday through Friday

Field         Value
Minute        */15
Hour          9-17
Day of month  *
Month         *
Day of week   MON-FRI

Next 10 runs (UTC), first three shown:
  Mon, Sep 28, 2026, 09:00
  Mon, Sep 28, 2026, 09:15
  Mon, Sep 28, 2026, 09:30

The five cron fields

┌───────────── minute (0-59)
│ ┌─────────── hour (0-23)
│ │ ┌───────── day of month (1-31)
│ │ │ ┌─────── month (1-12 or JAN-DEC)
│ │ │ │ ┌───── day of week (0-7 or SUN-SAT, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *  command
  • * – every value.
  • 5 – a single value.
  • 1-5 – a range.
  • 1,15 – a list.
  • */10 – a step: every 10th value. 5-59/15 means minutes 5, 20, 35 and 50.

Common cron expressions explained

ExpressionMeaning
* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *At the start of every hour
0 2 * * *Every day at 02:00
0 9 * * 1-5At 09:00 on weekdays
30 18 * * 5At 18:30 every Friday
0 0 1 * *At midnight on the first day of every month
0 0 1 1,4,7,10 *Quarterly, at midnight on January 1, April 1, July 1 and October 1

Supported formats

  • Standard 5-field expressions used by Linux crontab, Kubernetes CronJobs, GitHub Actions and most schedulers.
  • 6 fields with seconds first, as used by Spring, Quartz and some Node.js libraries, and 7 fields with a trailing year. Both are explained with a "Not standard cron" warning, because a crontab line has exactly 5 fields.
  • Macros: @yearly, @monthly, @weekly, @daily, @hourly and @reboot.
  • One expression at a time – the field takes one schedule. You can paste a whole crontab line: the command after the schedule fields is ignored for the description and the run list, but the visual builder only fills in from the bare schedule fields.
  • Quartz specialsL, W and # are described in words and flagged as "Not standard cron", like the Quartz ?, but next run times cannot be calculated for them.

The day-of-month and day-of-week trap

When both day fields are restricted, classic cron runs the job if either matches, not both. 0 0 1,15 * 5 therefore runs on the 1st, the 15th and every Friday, not only on Fridays that fall on those dates. The next-run list makes this behavior visible immediately. As in Vixie cron, a day field that starts with * (such as */2) counts as unrestricted here, so 0 0 */2 * 1 runs only on Mondays that fall on an odd day of the month.

Time zones

Cron uses the time zone of the machine or service running it. Many servers and cloud schedulers, including GitHub Actions, run in UTC. Compare next run times in local time and UTC to make sure a "9 AM" job does not fire at 9 AM somewhere else. Around daylight-saving changes, local-time jobs can be skipped or run twice, another reason many teams schedule in UTC.

Need to build an expression instead of reading one? Use the crontab generator. To convert the listed times into Unix timestamps, try the Unix timestamp converter. Everything is calculated in your browser.

Frequently asked questions

What does */5 mean in a cron expression?
It is a step value: every fifth value of the field, starting from the lowest. In the minute field, */5 means minutes 0, 5, 10 and so on up to 55.
Is Sunday 0 or 7 in cron?
Both. The day-of-week field accepts 0 and 7 for Sunday, and names such as SUN, MON and FRI work too.
Why does my job run more often than expected?
If both day-of-month and day-of-week are restricted, cron runs the job when either one matches. Set one of them to * if you want only the other rule to apply.
Does the parser support seconds?
Yes. Six-field expressions are read with seconds as the first field, as used by Quartz and Spring, and seven-field expressions add a year at the end. Both are marked "Not standard cron", because crontab itself takes exactly five fields.
Which time zone are the next run times in?
You can choose between your browser’s local time zone and UTC. Your server may use a different zone, so check its configuration.

Last updated October 3, 2026

Guides

Related tools

URL Parser Break a URL into scheme, host, port, path, query parameters and fragment. Decodes values and parses many URLs at once. User Agent Parser Parse user agent strings to identify browser, version, rendering engine, operating system, device type and bots. Crontab Generator Build a crontab line from presets or custom fields, with a plain-English explanation and a preview of the next run times. Content Security Policy Evaluator Parse a Content-Security-Policy header and flag risky directives such as unsafe-inline, wildcards, missing object-src and base-uri. cURL to Axios (Node.js) Converter Convert curl commands to Node.js axios requests with params, headers, JSON data, auth, form-data uploads and timeouts. cURL to C# Converter Convert curl commands to C# HttpClient code for .NET with headers, content types, basic auth, multipart and TLS options. cURL to Go Converter Convert curl commands into Go code using net/http — method, headers, JSON or form body, basic auth, timeouts and multipart uploads. cURL to PHP Guzzle Converter Convert curl commands to PHP Guzzle requests using json, form_params, multipart, query and auth options. cURL to Java Converter Convert curl commands to Java 11+ java.net.http.HttpClient code with headers, body, redirects and timeouts. cURL to JavaScript Fetch Convert curl commands into JavaScript fetch() code with method, headers, JSON body, form data, basic auth and timeouts. cURL to PHP Converter Convert curl commands into PHP code using the curl_* functions: method, headers, body, auth, cookies and SSL options. cURL to Python Requests Convert curl commands into Python requests code: headers, params, JSON or form data, files, cookies, auth and timeouts.