Cron Cheat Sheet

A filterable table of 30 common cron schedules — every 5 minutes, weekdays at 9 AM, monthly, quarterly and more — each with its plain-English meaning.

Loading tool…

Worked examples

  • Full cheat sheet, no filter

    The default view: 30 of the most common cron schedules, from every-minute polling to quarterly jobs, each already translated to plain English.

  • Filtered to weekday schedules

    Typing "weekday" narrows 30 rows down to the three schedules that only fire Monday through Friday — much faster than scanning the full table.

  • A filter with no matches

    A filter that matches nothing returns an empty table rather than silently showing the full list, so a typo is obvious.

What this tool does

This is a filterable table of 30 common cron schedules — from every-minute polling to quarterly jobs — each shown with its raw expression and a plain-English explanation. Type a keyword to narrow the table instead of scanning the whole list or reconstructing a schedule from memory.

When you need it

  • Grabbing a ready-to-use expression for a common schedule (every 15 minutes, weekdays at 9 AM, the first of the month) without working out the field syntax from scratch.
  • Confirming that a schedule you've already written matches the standard pattern for what you intended, by comparing it against the equivalent row here.
  • Learning cron syntax by example — seeing */15 * * * * next to "Every 15 minutes" makes the step-value syntax click faster than a syntax description alone.
  • Quickly checking the difference between similar-looking schedules, like 0 9 * * 1-5 (weekdays) versus 0 9 * * 1 (Mondays only).

What's covered

The table spans short-interval schedules (every 1 to 30 minutes), hourly and multi-hour intervals, once- and twice-daily schedules at specific times, weekday- and weekend-only schedules, a business-hours schedule combining an hour range with a day range, and monthly, semi-monthly, quarterly and yearly schedules. It's a curated set of the schedules people reach for most often in real crontabs and CI configurations, not an exhaustive enumeration of every possible field combination.

How the filter works

Typing into the filter box narrows the table to rows whose label, expression or plain-English explanation contains your search term, matched case-insensitively. Searching "weekday" surfaces every schedule that only fires Monday through Friday; searching "hour" surfaces the hourly-interval schedules and the business-hours row, since its label mentions "business hours". An empty filter shows all 30 rows.

Explanations are generated, not hand-written

Each plain-English explanation in the table is produced live from its expression using the same explanation engine as the cron expression explainer tool, rather than being typed out by hand for each row. That means the table can't silently drift out of sync with what an expression actually means — if the underlying explanation logic changes, every row updates consistently.

Beyond the cheat sheet

If the schedule you need isn't one of the 30 listed here, use the cron expression builder to assemble a custom one field by field, with the same live plain-English feedback. If you already have a custom expression from elsewhere and want it explained or checked against a specific starting date, use the cron expression explainer directly. For a schedule specifically destined for a GitHub Actions workflow, the GitHub Actions cron generator wraps the same builder in ready-to-paste YAML and flags anything more frequent than GitHub's 5-minute minimum.

Frequently asked questions

How is this different from crontab's own man page?
This is a curated table of ready-to-copy expressions for the schedules people actually reach for — polling intervals, business-hours windows, monthly and quarterly jobs — rather than a field-by-field syntax spec.
How does the filter work?
Type any keyword — a time of day, "weekday", "month" — and the table narrows to rows whose label, expression or explanation contains it.
Are the plain-English explanations hand-written?
No — each one is generated live from its expression using the same explanation engine as the cron explainer tool, so the table can't drift out of sync with what the expression actually means.
Where do I build a custom schedule that isn't listed here?
Use the cron expression builder to assemble one field by field, or the cron explainer to check an expression you already have.