Skip to content
DeveloperRuns in your browser

Cron Expression Parser

Turn a cron schedule into plain English and its next run times.

Input
No upload needed — instant
Privacy
Nothing is uploaded
Cost
Free · no sign-up · no watermark

Loading tool…

The tool is loading its code on your device. This happens once and is cached for later visits.

Processed entirely on your device

Everything you type or paste is handled by JavaScript running in this tab. No request is sent, nothing is logged and nothing is stored. Close the page and it is gone.

Overview

About the Cron Expression Parser

Parse and test cron expressions online. Get a plain-English description, a field-by-field breakdown and the next run times in your timezone — all in your browser.

A cron expression is five fields read left to right: minute, hour, day of month, month and day of week. Each field says which values of that unit should trigger the job, and the job runs at every instant where all five match at once. It is a compact language, and like most compact languages it is easy to write something that means something other than what you intended.

The five fields

FieldValuesWhat it picks
Minute0 to 59which minutes past the hour
Hour0 to 23which hours of the day
Day of month1 to 31which dates
Month1 to 12 or nameswhich months
Day of week0 to 7 or nameswhich weekdays, Sunday is 0 or 7

Months and weekdays also accept three-letter names, so mon-fri reads exactly the same as 1-5 and is far easier to review.

The operators

Every field is built from a small set of pieces that combine freely:

  • an asterisk matches every value in range, so * * * * * fires every minute;
  • a single number picks one value, so 0 in the minute field means the top of the hour;
  • a hyphen is a range, as in 9-17 for the working day;
  • a slash is a step, as in */5 for every fifth value;
  • a comma joins a list of any of these, as in 0,30 for the top and bottom of the hour.

Putting that together, 0 9 * * 1-5 means minute 0 of hour 9, on every day of every month, but only Monday to Friday — nine in the morning on weekdays.

The day-of-month and day-of-week rule

When both the day-of-month and the day-of-week fields are set to something other than an asterisk, most cron implementations fire if EITHER one matches, not when both do. So 0 0 1 * 1 runs on the first of the month and on every Monday, which surprises almost everyone the first time they meet it. Leave one of the two fields as an asterisk whenever you mean a specific kind of day.

Timezone is the quiet bug

Cron carries no timezone; it runs in whatever zone the scheduler is configured for, which on a server is very often UTC. A job written as 0 9 * * * fires at nine in the morning server time, which might be the middle of the night where you are. This tool projects the next run times in your device's local timezone so you can see the schedule as you would experience it, but always confirm which zone your scheduler actually uses before you rely on it.

Beyond five fields

Schedulers such as Quartz and Spring use six or seven fields, adding a leading seconds position and sometimes a trailing year. That is a different dialect with its own rules. This parser targets the standard five-field crontab format used by Unix cron and the cron field of most Kubernetes CronJob definitions.

Step by step

How to use the Cron Expression Parser

  1. Type a five-field cron expression, or pick one of the common presets.

  2. Read the plain-English description of when the schedule fires.

  3. Check the field breakdown to confirm each unit expands as you expect.

  4. Review the next run times, shown in your device's local timezone.

Why use it

Benefits and common use cases

What this tool is good for, and what it deliberately does not try to do.

Plain-English description

Turns a cryptic string of asterisks and slashes into a sentence you can read, which is what you actually want when reviewing someone else's scheduled job.

See the next run times

Projects the next eight fire times in your local timezone, so you can confirm a schedule behaves before it is deployed to a server that may run in UTC.

Full field syntax support

Handles asterisks, ranges, steps, comma lists and month and weekday names, including the day-of-month and day-of-week OR rule that trips people up.

Instant and private

Parsing happens as you type in the browser, so internal schedules and job names never leave your machine.

Questions

Frequently asked questions

Short, honest answers about quality, limits and privacy.

How many fields does a cron expression have?

The standard crontab format has five: minute, hour, day of month, month and day of week. Some schedulers such as Quartz and Spring add a leading seconds field and sometimes a trailing year, making six or seven. This parser handles the common five-field form used by Unix cron and most container schedulers.

What do the asterisk and slash mean?

An asterisk matches every value in the field's range. A slash adds a step, so a step of 5 in the minute field means every fifth minute. A hyphen is a range such as 9 to 17, and a comma separates a list such as 0 and 30. These combine, so a range with a step picks every nth value inside that range.

Why does my job run on the wrong day?

When both the day-of-month and the day-of-week fields are restricted, most cron implementations fire if EITHER matches rather than both. So a schedule naming the first of the month and Monday runs on both. Set one of the two fields to an asterisk when you mean a specific kind of day.

Is day of week 0 or 7 Sunday?

Both. Cron accepts 0 and 7 for Sunday, with 1 for Monday through 6 for Saturday. Three-letter names such as sun and mon also work and are easier to read. This tool normalises 7 to 0 internally.

What timezone does cron use?

Cron has no timezone of its own; it runs in whatever zone the scheduler is configured for, which on servers is very often UTC. A schedule written for nine in the morning fires at nine server time, not your local time. This tool shows the next runs in your device timezone so you can see the difference.