DevOps

Cron Expression Builder & Explainer

Build a five-field cron expression with visual fields or presets, get a plain-English explanation, preview the next five run times in a chosen time zone, and validate expressions you already have.

Free to use · Runs in your browser · No account required

Processed locally in your browser

Nothing you enter here is uploaded, transmitted to a server, or stored by this tool. Cron expressions are not sensitive, but avoid pasting internal hostnames or paths in comments you share elsewhere.

Runs entirely in your browser — nothing is sent to a server

Paste any five-field expression here — it stays in sync with the fields below.

Presets

At 09:00, on Monday, Tuesday, Wednesday, Thursday, and Friday.

Next 5 runs

  1. Aug 12, 2026, 9:00 AM
  2. Aug 13, 2026, 9:00 AM
  3. Aug 14, 2026, 9:00 AM
  4. Aug 17, 2026, 9:00 AM
  5. Aug 18, 2026, 9:00 AM

Traditional cron runs on the server's configured system timezone, not a value embedded in the expression — the selector above only affects this preview.

Some platforms (GitHub Actions, Kubernetes CronJob, managed schedulers) support extra fields or a separate timezone setting. This tool targets the standard five-field POSIX format.

How to use this tool

  1. 1Pick a preset, or type directly into the five fields — each stays in sync with the raw expression above.
  2. 2Read the plain-English explanation to confirm the schedule matches what you intended.
  3. 3Set the preview timezone (Asia/Kathmandu is preselected) and check the next 5 run times.
  4. 4Copy the expression once it looks right, and paste it into your crontab, GitHub Actions workflow, or scheduler config.

The five-field cron format

A standard cron expression has five space-separated fields, in order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, Sunday=0). Each field accepts * (any value), a single value, a comma-separated list, a start-end range, or a */step interval.

Cron behavior can differ between systems. Traditional cron (Linux/Unix, most container base images) evaluates fields against the server's configured system timezone, not a value embedded in the expression. Some platforms — GitHub Actions, most managed schedulers, some Kubernetes CronJob setups — support a separate timezone field or extensions like @daily. Always check the target platform's documentation before assuming portability.

Frequently asked questions

Does the timezone selector change how the cron job actually runs?

No — it only changes how this tool previews the next run times for you. Traditional cron daemons use the server's configured system timezone, not a value stored in the expression itself. Some platforms (GitHub Actions, most managed schedulers) do accept a separate timezone setting alongside the expression — check your platform's docs.

Can day-of-month and day-of-week both be restricted at once?

Standard cron treats day-of-month and day-of-week as an OR when both are restricted (not `*`), which produces schedules many people don't expect. This tool flags that case instead of silently generating it.

Do all platforms support the same five fields?

No. Some schedulers add a seconds or year field, or support extensions like `@daily`. This tool targets the traditional five-field POSIX format.

Planned — not yet published

  • Planned
    Cron syntax explained: minute, hour, day-of-month, month, day-of-weekField ranges, lists, steps, and the day-of-month/day-of-week OR quirk.
  • Planned
    Why your cron job ran at the wrong time after deploymentServer timezone drift, DST, and container base-image defaults.
  • Planned
    Cron vs GitHub Actions schedule vs Kubernetes CronJob syntaxWhere five-field cron stops being portable across platforms.