Cron expression generator — build 5-field schedules with a human-readable summary

Use this free cron expression generator to assemble a valid five-field cron schedule (minute, hour, day of month, month, day of week) without memorizing every special character. Start from common presets — every 5 or 15 minutes, hourly, daily, weekdays, weekly, monthly — then refine fields with dropdowns. The tool shows the exact crontab string and a plain-English explanation so you can paste into Linux crontab, Kubernetes CronJobs, CI schedules, or cloud rules with confidence. Everything runs locally in the browser—no cron strings are uploaded. When you need to sanity-check times after deployment, pair the expression with our Unix timestamp converter for log correlation.

Quick presets

Tap a preset to load common schedules; then fine-tune the fields below.

Cron expression

0 9 * * 1-5

Runs on weekdays (Monday–Friday) at 9:00 AM (9:00 24h).

Order: minute · hour · day-of-month · month · day-of-week. Confirm field order and time zone with your scheduler (Linux crontab, Kubernetes, GitHub Actions, AWS, etc.).

What is a cron expression generator?

A cron expression generator is a focused UI that maps the schedule you have in mind — “every weekday at 9 AM,” “every 15 minutes,” “first of the month at midnight” — into the compact syntax schedulers expect. Instead of hand-editing five positions and worrying whether *, */15, or day-of-week versus day-of-month is correct, you pick values from labeled controls and copy a single line. This page targets the widespread Vixie-style five-field format used by Unix crontab and many libraries; some products add seconds or use UTC-only interpretation, so always confirm against your host’s docs.

If you already have a string and want the reverse workflow — paste, explain, and see upcoming run times — use our companion Cron Expression Explainer. For repetitive string patterns in logs or configs, the regex tester helps validate extractors before you wire them into jobs.

How to use this cron schedule builder (step by step)

  1. Click a quick preset that matches your intent (for example every 15 minutes or weekdays 9:00 AM). Presets load all five fields so you start from a known-good cron schedule.
  2. Adjust minute and hour for wall-clock time in 24-hour form. Use day of month and month for annual or monthly jobs, and day of week when the job should track weekdays or a single weekday (Sunday = 0 in this convention).
  3. Read the human-readable summary under the expression. It is designed for the most common patterns (fixed times, steps like */5, weekday ranges). Unusual combinations still show the raw five fields so you can cross-check documentation.
  4. Press Copy expression and paste into your target: crontab -e, a manifest schedule field, or a managed scheduler UI. Verify time zone (UTC vs local) so production matches what you expect.

Cron field cheat sheet (minute through weekday)

Minute (0–59): use * for every minute, */n for every n minutes, or a fixed value for “at this minute past the hour.” Hour (0–23): * means every hour when combined with a repeating minute pattern, or pin the clock hour for daily jobs. Day of month (1–31) and month (1–12) narrow which calendar dates qualify. Day of week (0–6, Sunday first) selects weekdays or a single weekday; the preset 1-5 encodes Monday through Friday. When both day-of-month and day-of-week are constrained, some engines combine them with OR semantics — keep one field as * unless you have tested your platform’s rule.

Where generated cron expressions are used

Infrastructure and apps rely on cron for backups, report generation, cache warming, and certificate renewal checks. Kubernetes CronJobs accept a five-field line in spec.schedule. GitHub Actions uses a similar but not identical on.schedule syntax — always compare with official examples. AWS EventBridge and other clouds often document six-field variants including seconds. The string you build here is a strong starting point; align field count and wildcards with each provider. When your pipeline stores schedules in JSON or YAML, validate the surrounding file with our JSON formatter and YAML to JSON tools so deploy-time typos do not mask a bad schedule.

Keywords and search intent this page covers

Teams look for a crontab generator, online cron maker, or schedule builder for Linux when they want fast, correct strings without reading man pages under pressure. Related queries include every X minutes cron, weekday cron expression, run at midnight cron, and Kubernetes schedule examples. This generator emphasizes clarity: you always see both the machine syntax and a short narrative you can paste into runbooks or tickets.

Related free developer tools

Browse the full code and developer tools section on the home page, or open a focused utility below.

  • JSON Formatter & ValidatorFormat, validate, minify, and explore JSON in a collapsible tree—fix payloads before they hit production.
  • JSON to CSV ConverterTurn JSON arrays into downloadable CSV with automatic column detection for spreadsheets and BI tools.
  • JSON to YAML ConverterConvert JSON to readable YAML for configs and Kubernetes—copy or download the result.
  • CSV to JSON ConverterPaste or upload CSV and get structured JSON with header-aware typing for APIs and apps.
  • YAML to JSON ConverterParse YAML to valid JSON with clear errors—ideal for CI configs and cloud templates.
  • XML Formatter & ValidatorBeautify and validate XML with structure insight and actionable parse errors.
  • Regex Tester & DebuggerTest patterns live with highlights, capture groups, and flags—debug regex without leaving the browser.
  • SQL FormatterPretty-print SQL with indentation and keyword casing for readable queries and code review.
  • HTML Formatter & MinifierBeautify or minify HTML and compare raw markup with a quick rendered preview.
  • CSS Formatter & MinifierFormat messy stylesheets or minify CSS for faster loads—keep design tokens consistent.
  • JavaScript Formatter & MinifierPretty-print or minify JavaScript for debugging locally and shipping smaller bundles.
  • HTML to Markdown ConverterConvert HTML snippets to Markdown for docs, CMS migrations, and README cleanup.

Frequently asked questions

What is a cron expression?
A cron expression is a compact string that tells a scheduler when to run a job. The classic Unix crontab format uses five fields: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). Special characters include * (any), lists (1,3,5), ranges (1-5), and steps (*/15). Some platforms add a seconds field or different Sunday numbering—always check your host's documentation.
What order are the five cron fields?
Standard order is: minute, hour, day of month, month, day of week. A mnemonic is "minute and hour first, then which day in the month, which month, and which weekday." The string this generator outputs follows that order, which matches Linux crontab, many PaaS schedulers, and libraries like node-cron when configured for five fields.
Does this cron generator run jobs for me?
No. It only builds and explains the expression. You still paste the result into your environment: crontab -e on a server, Kubernetes CronJob spec, GitHub Actions schedule, AWS EventBridge rule, or your framework's scheduler config. Execution time zone and field support are defined by that system, not by this page.
Why does my job run at the wrong local time?
Cron is usually interpreted in one fixed time zone: often the server's UTC offset, or explicitly UTC in the cloud. Daylight saving changes can shift apparent local times. Set the scheduler or container to the zone you intend, or express schedules in UTC. Our descriptions show clock times for clarity but do not know your production zone.
What is the difference between day of month and day of week?
Both restrict which days a job may run. In classic cron, if both are set (neither is *), behavior depends on the implementation: many systems run when either condition matches (OR), not both. To avoid surprises, leave one field * when you mean "only weekdays" or "only the 15th." This generator is clearest when one of dom or dow is *.
How do I schedule every N minutes?
Use a step in the minute field, e.g. */5 for every five minutes or */15 for quarter-hourly. That pattern does not pin a wall-clock anchor; it runs from whenever the scheduler evaluates the expression. For aligned times (e.g. exactly :00, :15, :30), some platforms offer different syntax or fixed-rate APIs—check your provider.
Is Sunday 0 or 7 in cron?
In Vixie cron and Linux crontab, 0 and often 7 both mean Sunday. This generator uses 0 for Sunday. If your platform maps weekdays differently, translate accordingly. AWS and some tools document their own tables—verify before production.
Are my schedule choices sent to a server?
No. The generator runs entirely in your browser: fields combine into a string and the description is computed locally. Nothing is uploaded. You should still avoid pasting secrets into any website out of habit.
Where can I decode an existing cron string?
Use a dedicated explainer tool that parses arbitrary expressions and lists next run times. This site offers a Cron Expression Explainer at /dev/cron-explainer for pasted strings; this page is optimized for building new schedules from presets and dropdowns.