HCODX/Cron Expression Builder
Live preview · Next 10 run times · 100% browser-based

Cron Expression Builder

Type any cron expression and see what it actually does — in plain English plus the next handful of run times. Click a preset for common schedules, or build your own from the standard 5-field syntax. Runs offline once the page is loaded.

Cron expression
Description & next runs
At every 15th minute.

Next runs

    Display options
    10
    Timestamp converter
    Validity
    Valid
    Next run in
    Interval
    Status
    Ready
    Example

    Five fields, infinite schedules

    Each field accepts wildcards (*), ranges (9-17), step values (*/15), and lists (1,15) — combine them for almost any cadence.

    Cron
    0 9-17 * * 1-5
    Means
    At minute 0, every hour from 9 through 17,
    Monday through Friday.
    Use cases

    What you'll use this for

    Cron expressions hide in Kubernetes CronJobs, GitHub Actions schedules, AWS EventBridge rules, Jenkins pipelines, and every server crontab on Earth. Sanity-check yours before you ship.

    Kubernetes CronJobs

    Verify the spec.schedule in your CronJob YAML means what you think before kubectl apply.

    GitHub Actions

    Workflows use UTC cron — paste it here with the UTC option to confirm next-run times.

    Server crontabs

    Decoding a crontab -e someone left three years ago. The description tells you what it does in seconds.

    EventBridge & Lambda

    AWS uses a 6-field variant but standard expressions match closely enough to validate intent before deploying.

    Step by step

    How to read a cron expression

    1

    Type or paste the expression

    Five space-separated fields. The shortcut row gives you common starting points.

    2

    Read the plain-English description

    Generated live by cronstrue. If it says "Could not parse," check field count and ranges.

    3

    Check the next-runs list

    Default is your local timezone. Switch to UTC for server-side schedules. The interval stat shows the gap between runs.

    4

    Copy the expression

    Once it does what you want, copy it into your YAML, crontab, or scheduler config.

    FAQ

    Frequently asked questions

    Classic Unix cron uses 5 fields: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12), day-of-week (0-7). Some systems — Quartz, Spring Scheduler, AWS EventBridge — prepend a seconds field for 6 fields, and Quartz adds an optional year field for 7. This builder accepts standard 5-field expressions.

    Yes. @yearly / @annually, @monthly, @weekly, @daily / @midnight, and @hourly are accepted and expanded to the equivalent 5-field expression before parsing.

    Standard cron has no L token. The portable trick: run daily and check inside the job whether tomorrow is a new month. Quartz cron does support L (last) and W (nearest weekday) — but only on systems that implement Quartz syntax (e.g., Spring Scheduler).

    Unix cron historically accepts both 0 and 7 for Sunday. Most implementations honor this for backwards compatibility — this builder treats them identically. Monday is 1, Saturday is 6.

    Plain Unix cron: no — the missed time slot is gone. anacron (and Kubernetes CronJobs with startingDeadlineSeconds) catch up missed runs once the system is back. Always check the docs for your specific scheduler if "must run exactly once" matters.

    About

    About cron expressions

    Cron is the venerable Unix utility for time-based job scheduling. A cron expression is just five (sometimes six or seven) space-separated fields describing when to fire. This tool uses cronstrue for English descriptions and a small in-page next-run calculator built around the standard 5-field semantics.

    Field reference

    • Minute — 0-59
    • Hour — 0-23
    • Day-of-month — 1-31
    • Month — 1-12 (or JAN-DEC)
    • Day-of-week — 0-6 / 7 (Sunday=0 or 7, or SUN-SAT)

    Operators

    • * — any value
    • 5,15,30 — list
    • 9-17 — range
    • */15 — step (every 15 within the range)
    • 1-5/2 — step within a range
    Related

    Related tools