Skip to content
Developer

Cron Expression Generator

Build cron schedules visually and preview next run times.

cronschedulecrontabjobtimer
Loading tool…

Recommended tools

Affiliate links — we may earn a commission if you sign up.

About the Cron Expression Generator

The Cron Expression Generator builds five-field cron schedules visually and proves they work before you ship them. Each of the five fields — minute, hour, day-of-month, month, and day-of-week (0 = Sunday) — gets its own row with a mode selector: Every (*), Specific, Range (a-b), Step (*/n), or List (a,b,c), with number inputs validated against each field's legal range and month and weekday names shown as you type. Ten one-click presets cover the schedules people actually need, from Every minute through Hourly and Weekdays 8:30am to Weekends noon. The generated expression renders in a large monospace box with a live Valid/Invalid status, a plain-English description of each field, and a Copy button; below it, the Next 5 executions card computes concrete upcoming run times from your local clock using standard cron semantics, where day-of-month and day-of-week combine as OR when both are restricted. A quick-reference strip documents field order and the */n, a-b, a,b,c syntax. For crontab entries, GitHub Actions schedules, or Kubernetes CronJobs, it removes the guesswork.

Hand-written guide

Examples

Input
Preset: Weekdays 8:30am
Output
30 8 * * 1-5
Note: Minute 30, hour 8, every day of month, every month, Monday through Friday — the preset fills all five fields for you.
Input
Minute: Step (*/n) with n = 15, other fields Every
Output
*/15 * * * *
Note: The Every 15 min preset produces a step expression; the Next 5 executions card lists the concrete upcoming run times.
Input
Minute: Specific 0 · Hour: Specific 0 · Day of month: Specific 1
Output
0 0 1 * *
Note: The 1st of month preset — a valid expression plus a plain-English description: minute 0 · hour 0 · day of month 1 · every month · every day of week.

How to use

  1. 1

    Click a preset button (e.g. Every 15 min) to start from a known-good schedule.

  2. 2

    For each of the five fields, choose a mode: Every, Specific, Range, Step, or List.

  3. 3

    Fill the numeric inputs that appear for the chosen mode — the row validates the range live.

  4. 4

    Copy the generated cron expression with the Copy button or download it as cron.txt.

  5. 5

    Check the Next 5 executions card to confirm the schedule fires when you expect.

Common use cases

  • Building a crontab entry without memorizing the five-field order.
  • Generating GitHub Actions cron schedules for CI triggers.
  • Creating Kubernetes CronJob schedules for periodic jobs.
  • Verifying what a vendor-supplied cron string actually does by rebuilding it visually.
  • Choosing between day-of-month and day-of-week semantics with the preview.
  • Documenting a schedule with the plain-English field descriptions.

Best practices

  • Remember this tool emits five-field cron (no seconds); Quartz and some systems need six fields.
  • Day-of-week is 0–6 with 0 = Sunday here — double-check the platform, since some systems treat 0 as Monday.
  • When both day-of-month and day-of-week are restricted, cron fires when either matches (OR), which surprises people — use the preview to confirm.
  • Validate the Next 5 executions against your own timezone expectations before deploying.
  • Prefer step expressions like */15 over long lists for readability in stored crontabs.
  • For schedules that never fire within a year (like Feb 31), the tool reports it — trust the empty-state message.

Tips

  • Start from the closest preset — it fills all five fields correctly and you only tweak one or two.
  • Read the plain-English description under the expression before copying; it catches wrong-field mistakes.
  • Check the Next 5 executions after any change to feel the rhythm of the schedule.
  • Keep day-of-month or day-of-week at * unless you have a specific reason, to avoid OR-matching surprises.

Frequently asked questions

The standard five-field order: minute, hour, day-of-month, month, and day-of-week, with day-of-week 0–6 where 0 is Sunday. The quick-reference panel at the bottom restates this so you can map expressions to other tools confidently.

Explore more developer tools

Browse the full collection of developer tools on the hub, or jump back to all categories.