BrowserTools
Advertisement
Home / Generators / Cron Expression Generator & Explainer

Cron Expression Generator & Explainer

Build and decode cron schedules into plain English, entirely in your browser.

Loading Cron Expression Generator & Explainer… If nothing happens, please enable JavaScript.

Cron is the time-based job scheduler that has run the world's servers since the 1970s. A cron expression is a compact string of five fields (minute, hour, day of month, month, and day of week) that together describe exactly when a task should fire. The syntax is famously terse, and a single misplaced asterisk or slash can turn an hourly backup into a once-a-minute storm. This tool turns any expression into a clear, human-readable sentence so you can confirm the schedule before you commit it to a crontab, a CI pipeline, or a Kubernetes CronJob.

Frequently asked questions

Is my cron expression sent anywhere?
No. The expression is parsed and explained entirely in your browser by a bundled JavaScript library. Nothing is uploaded to a server, logged, or stored, so it is safe to paste schedules taken from private or production systems.
What do the five fields in a cron expression mean?
From left to right they are minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC), and day of week (0-6 or SUN-SAT, where 0 is Sunday). A value in each position narrows when the job runs, and an asterisk means every possible value for that field.
What does an asterisk and a slash together mean, like */15?
The slash is a step operator. Applied to an asterisk it means 'every N units', so */15 in the minute field fires at minutes 0, 15, 30, and 45. You can also combine it with a range, for example 0-30/10 means every 10 minutes within the first half of the hour.
Why does my job run more often than I expected?
The most common cause is leaving a field as an asterisk when you meant to pin it. For example 0 * * * * runs at the top of every hour, while * 0 * * * runs every minute during the midnight hour. Reading the plain-English explanation this tool produces is the quickest way to catch that kind of mistake.
Does it support seconds or six-field cron?
This tool focuses on the classic five-field format used by Unix cron and most schedulers. Some systems (Quartz, certain CI runners) add a leading seconds field or a trailing year field. If you paste one of those, the explanation may be off by one field, so trim it to five fields first.
How do day of month and day of week interact?
In standard cron, if both the day-of-month and day-of-week fields are restricted (neither is an asterisk), the job runs when either condition matches, not both. This surprising OR behaviour is a frequent source of bugs, so keep one of the two fields as an asterisk unless you specifically want that union.
Can I use names like MON or JAN instead of numbers?
Yes, most cron implementations accept three-letter abbreviations for months (JAN-DEC) and days of the week (SUN-SAT), and they are case-insensitive. They can make expressions far easier to read, though numeric ranges are still required for steps and some edge cases.
Does the tool work offline?
Yes. Once the page has loaded, the parsing library is already in your browser and no further network requests are made. You can use it on a plane, behind a firewall, or while editing a remote crontab over a flaky connection.

About Cron Expression Generator & Explainer

The explainer accepts standard five-field cron expressions and supports the usual operators: the asterisk for any value, commas for lists (such as 0,15,30,45), hyphens for ranges (such as 1-5 for Monday through Friday), and slashes for steps (such as */5 for every fifth unit). Type your own expression or click one of the ready-made presets to load a common pattern, then read the description and adjust until it matches your intent. The field reference table below the input reminds you which position controls which unit and what values each one accepts.

Everything runs locally in your browser using the cronstrue library bundled directly into the page. Nothing you type is uploaded, logged, or sent to any server, so you can paste schedules from private infrastructure without a second thought. The tool works offline once loaded, which makes it a handy companion when you are editing crontabs over SSH and just need a quick sanity check on what a line actually does.

Why it is called cron

The name cron comes from Chronos, the Greek personification of time, and the utility first appeared in Version 7 Unix in the late 1970s. The original implementation by Brian Kernighan simply woke up once a minute, read the system crontab, and ran whatever was due. It was elegant but did not scale well as the number of jobs grew.

In 1987 Paul Vixie released what became known as Vixie cron, a far more efficient rewrite that calculated the next run time for each job instead of scanning the whole table every minute. Vixie cron introduced many conveniences taken for granted today, including step values with the slash operator, ranges, and per-user crontabs. Its descendants ship as the default scheduler on most Linux distributions.

The five-field syntax has proven remarkably durable. Decades after its creation it still appears almost unchanged in modern cloud platforms, container orchestrators, and continuous integration services. Whenever you write a schedule for a GitHub Actions workflow or a Kubernetes CronJob, you are speaking a dialect of a language designed for a single shared minicomputer running in a research lab.

Advertisement
Advertisement
Advertisement