Skip to content
I Hate Online Tools

Cron parser

Turn a 5- or 6-field cron expression into plain English.

Runs in this tab. The file stays here.

At 09:00, Monday through Friday5-field expression

This runs in your browser. Nothing is uploaded.

About Cron parser

Turns a five- or six-field cron expression into plain English in your browser. It explains schedules; it does not run them or compute next fire times.

Cron strings are concise until you forget whether field two is hour or minute. I stare at 0 9 * * 1-5 every spring and still translate it manually. Online cron calculators often want an account, or they silently assume a timezone you don't run in. This page takes a standard five-field cron (minute hour day-of-month month day-of-week) or a six-field cron with seconds, runs cronstrue locally, and prints a verbose English sentence. No upload, no 'register to see the next ten runs'. The field count is shown so you know whether you accidentally pasted a seconds-first line into a five-field mental model.

Explain-only is deliberate. Computing the next execution times needs a clock, a timezone, and rules about DST that vary by where the job actually runs. Your server's crontab, GitHub Actions, AWS EventBridge, and Kubernetes CronJob do not all agree on every edge case. I won't pretend one button knows which platform you're on. The description tells you what the fields mean; your scheduler tells you when it fires in prod. Read the English here, then confirm against the docs for the system that will actually trigger the job. Day-of-week and day-of-month both set to specific values can interact in ways your platform documents but this page will not simulate.

If the expression doesn't parse, you get cronstrue's error instead of a confident paragraph that misleads you. Quartz extensions, aliases like @daily, and nonstandard field counts aren't the target. This is for the Linux crontab line you inherited, or the schedule line in a YAML file you're reading, not for every vendor dialect under the sun. When the YAML converter shows a schedule key you do not recognise, paste just the cron string here and read it in plain language before you edit it. I use 24-hour wording in the description because that is what cronstrue emits here, not because your crontab runs in UTC.

How to use Cron parser

  1. 1Paste a five- or six-field cron expression into the input.
  2. 2Read the plain-English description that appears below.
  3. 3Adjust the expression and watch the description update on the next parse.

What it won't do

  • Explain-only via cronstrue. No next-run times and no timezone picker.
  • Five- or six-field standard cron; not every vendor macro dialect.

Common questions

Does the cron parser show the next run times?

No. It explains the expression in English only. Next-run math needs your platform's timezone and scheduler rules. Use your server's tool or your cloud console when you need timestamps, not sentences.

Which cron formats are supported?

Five fields (minute hour day-of-month month day-of-week) or six fields with seconds first. Standard numeric and * syntax cronstrue understands. Vendor-specific macros and Quartz-only tokens may fail with a parse error.

Why does my GitHub Actions cron read differently here?

Because Actions uses UTC and its own scheduling layer. The English here describes the fields you typed, not GitHub's clock. Always read the platform docs for timezone and drift.

Related tools

Why this one doesn't upload your file

There is no server to upload to. This page is a static file, and the work happens in your browser using the same graphics and WebAssembly code that renders every other site you visit. Your file is read from disk into memory, processed, and handed back as a download. Once the page has loaded you can disconnect from the network entirely and it keeps working. The longer explanation

Install the app