Search tools

Find a tool by name or what it does.

Cron Expression Parser

Translate a cron expression into plain English and preview its next scheduled run times.

Five fields: minute, hour, day of month, month, day of week. Parsed live in your browser.

Common expressions

In plain English

Enter a cron expression to explain it.

How to read a cron expression

  1. Enter the expression

    Type or paste a five-field cron line such as 0 9 * * 1-5, or a shortcut like @daily. Parsing happens as you type.

  2. Check the plain English

    Read the generated sentence, for example "At 09:00, Monday through Friday", to confirm the schedule means what you intended.

  3. Preview the next runs

    Review the next five run times, each with a relative label, and switch the list between local time and UTC.

  4. Copy the explanation

    Click Copy explanation to take the plain-English description with you.

Why use this tool

Plain-English descriptions

Each expression is translated into a readable sentence in 24-hour time as you type.

Next five run times

Standard five-field expressions get a preview of the next five firings, each with a relative label like "in 2 hours".

Local time and UTC preview

One toggle re-renders the run times in UTC, matching how most servers are configured.

Full standard syntax

Lists, ranges, steps, three-letter month and weekday names, Sunday as 0 or 7, and shortcuts from @hourly to @yearly all parse.

Runs without a server

Expressions are parsed in the page, so nothing you paste is collected or sent anywhere.

About this tool

This cron expression parser translates a five-field schedule into plain English as you type, rendered in 24-hour time. It also computes the next five run times by stepping forward minute by minute from the current moment, checking each candidate against the minute, hour, day, month, and weekday fields. Lists, ranges, steps, month and weekday names, and the @hourly through @yearly shortcuts are all supported, and when both day-of-month and day-of-week are restricted the parser applies the classic cron OR rule, matching either field.

The usual reason to check an expression is that a job fired at the wrong time. Pasting the line from a crontab, a GitHub Actions workflow, or a Kubernetes CronJob manifest confirms what the schedule actually says, and the run-time preview shows exactly when it fires next. Because most servers run on UTC while you probably do not, the toggle between local time and UTC catches the off-by-some-hours mistakes that plague scheduled jobs. Schedules that live in YAML pipelines can be tidied alongside the JSON to YAML converter.

Parsing happens entirely in the page; the expression is never sent to a server. When a job has already run and left an epoch value in the logs, the Unix timestamp converter decodes it, and the time zone converter helps translate a server-side firing time into everyone's local clock.

Frequently asked questions

What is a cron expression?
A cron expression is a compact schedule used by Unix cron and many job schedulers. The standard form has five fields, minute, hour, day of month, month, and day of week, that together describe when a recurring task should run.
How do I read the plain-English description?
As you type, the expression is translated into a sentence such as "At 09:00, Monday through Friday", so you can confirm a schedule does what you intended without decoding the fields by hand.
How are the next run times worked out?
For standard five-field expressions and shortcuts like @daily, the tool steps forward from the current moment and lists the upcoming matches. You can switch the preview between your local time and UTC.
Which cron syntax is supported?
Lists (1,15), ranges (1-5), steps (*/10), month and weekday names, and the @yearly, @monthly, @weekly, @daily, and @hourly shortcuts are all supported. Vixie-cron extensions like L, W, and # are described where possible but excluded from the next-run preview.
Does the parser send my expression anywhere?
No. Parsing and the next-run calculation happen entirely in your browser. Your cron expression is never uploaded or stored.

Related tools