Cron Expression Descriptor — What Any Crontab Line Means in Plain English

A crontab line is five fields of numbers, stars and slashes that look like a combination lock — and one wrong field can mean a backup that runs every minute or a report that never runs at all. This cron expression descriptor translates any standard 5-field expression into plain English: one clear sentence at the top (“At 14:30, Monday through Friday.”) and a field-by-field breakdown under it, so you can check each part against what you intended. It understands the full standard syntax — single values, wildcards, steps like */15, ranges like 1-5, lists like 1,15, and combinations — and names months and weekdays instead of numbering them. It is deliberately a descriptor, not a builder or a scheduler: it tells you what an expression means and shows nothing it cannot parse, rejecting expressions that do not have exactly five fields rather than guessing. Everything runs in your browser, which is the right place to check a production crontab line before pasting it into a server.

The five fields, in order

Every standard cron expression is: minute (0–59), hour (0–23), day of month (1–31), month (1–12), day of week (0–7, where both 0 and 7 mean Sunday). The example preloaded above, 30 14 * * 1-5, reads field by field as: minute 30, hour 14, any day of the month, any month, days 1 through 5 of the week — hence the sentence “At 14:30, Monday through Friday.” The two stars matter: day-of-month and day-of-week are separate restrictions, and cron’s famous quirk is that when both are restricted (neither is a star), the job runs when EITHER matches, not when both do — so 0 9 1 * 1 runs on the 1st of the month AND every Monday, which surprises almost everyone once. This descriptor shows both fields separately precisely so that interaction stays visible.

The syntax pieces you will meet

Four building blocks cover nearly every real crontab. The star (*) means “every” — every minute, every month. A step (*/15) means “every 15th” of that field, so */15 in the minute field is the quarter-hours 0, 15, 30, 45. A range (1-5) is an inclusive span — in day-of-week, Monday through Friday. A list (1,15) picks out individual values, here the 1st and 15th days of the month. They combine: 9-17/2 in the hour field means every 2 hours from 9 to 17. The quick-example buttons above the tool load five expressions worth testing your understanding against — midnight daily, every quarter hour, weekday afternoons, monthly on the 1st at 09:00, and a single annual moment (04:45 on 15 June) — and the breakdown table always shows the fields in crontab order with their names, so a borrowed expression from a tutorial can be verified piece by piece before it goes anywhere near a server.

What this tool does not describe

Some cron dialects go beyond five fields and this tool deliberately stops at the standard: it does not handle the seconds or year fields some schedulers add, the @daily / @reboot shortcuts (those are names, not expressions — @daily is 0 0 * * *), or the L, W, # and ? extensions of Quartz-style schedulers. It also describes schedule meaning, not execution: it cannot tell you about time zones (cron typically runs on the server’s local time unless configured otherwise), jobs skipped while a machine sleeps, or overlapping runs. And a caution worth the space: describing is verifying intent, not testing behaviour — after installing a new crontab entry, the professional habit is to also check the system log after its first scheduled moment. Read expressions here; confirm runs there.

Frequently asked questions

What does */15 * * * * mean?

“Every 15 minutes, every day” — the step in the minute field fires at minutes 0, 15, 30 and 45 of every hour, with all other fields unrestricted.

Is day-of-week 0 or 7 Sunday?

Both. Standard cron accepts 0–7 for the day-of-week field and treats 0 and 7 as Sunday; this descriptor maps both to Sunday.

Why did my job run more often than expected?

The classic cause is restricting both day-of-month and day-of-week: cron runs the job when either field matches. Check the two fields separately in the breakdown — if both are set and you meant “and”, restructure the job.

Does it support @daily or @weekly?

No — those are shortcut names, not 5-field expressions. Their equivalents describe fine: @daily is 0 0 * * *, @weekly is 0 0 * * 0, @monthly is 0 0 1 * *.

Related tools

Versión en español: Descriptor de Expresiones Cron — Qué Significa Cada Línea Crontab en Español Claro. You may also like: JWT Decoder Tool — Read JWT Headers and Payloads Safely Online · Base32 Encoder and Decoder — RFC 4648 Base32, Done in Your Browser.


Embed this tool on your website — free

Copy the code below to add this working tool to your own page. A small credit link stays with it — that’s all we ask.


Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top