Free No sign-up Client-side

Cron Expression Builder

Build, validate and understand cron expressions with a visual editor — see the next 10 run times instantly and copy the expression for AWS EventBridge, Linux crontab, GitHub Actions, or Kubernetes CronJobs.

Quick Presets

Minute 0–59
Hour 0–23
Day 1–31
Month 1–12
Weekday 0–7

Every Mon at 09:00 UTC

Next 10 Run Times (UTC)
12026-07-20 09:00 UTC
22026-07-21 09:00 UTC
32026-07-22 09:00 UTC
42026-07-23 09:00 UTC
52026-07-24 09:00 UTC
62026-07-27 09:00 UTC
72026-07-28 09:00 UTC
82026-07-29 09:00 UTC
92026-07-30 09:00 UTC
102026-07-31 09:00 UTC
Syntax Reference
*Any value
,Value list e.g. 1,3,5
-Range e.g. 1-5
/Step e.g. */15

What is a cron expression?

A cron expression is a string of five (or six) space-separated fields that define a recurring schedule for automated tasks. It originates from the Unix cron daemon — a time-based job scheduler that runs commands at fixed times or intervals. The name comes from Chronos, the Greek god of time.

The five standard fields are: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 mean Sunday). Special characters extend the syntax: * (any value), , (list), - (range), / (step), L (last), W (nearest weekday), and # (nth weekday).

Cron expressions power everything: Linux crontab, GitHub Actions schedule triggers, AWS EventBridge rules, Kubernetes CronJob resources, Vercel cron functions, Railway cron jobs, and nearly every job queue library. Building a valid expression from scratch can be error-prone — this tool generates one visually and shows you exactly when it will next fire.

How to use the cron expression builder

  1. 1

    Type or paste an expression

    Enter an existing cron expression to validate and see its next run times, or start from scratch.

  2. 2

    Use the visual fields

    Adjust the minute, hour, day, month, and weekday fields using the dropdowns. The expression updates live.

  3. 3

    Check the next run times

    The panel below shows the next 10 scheduled executions in both UTC and your local timezone.

  4. 4

    Copy the expression

    Use the Copy button to grab the cron string for your crontab, GitHub Actions YAML, or AWS EventBridge rule.

Why developers need a cron builder

Eliminate syntax errors

Cron syntax is unforgiving — a single wrong field silently skips or misschedules your job. Validate before deploying.

See exactly when it fires

Abstract expressions like 0 */6 * * * are hard to reason about. Next-run preview makes the schedule concrete and verifiable.

Cross-platform syntax

Linux crontab, AWS EventBridge (6 fields), and Quartz Scheduler each have slightly different syntax. This tool helps you target the right format.

Onboard new developers

A visual builder is the fastest way for junior developers to understand cron syntax without memorising the field order.

Common cron expression examples

Database backup — 2 AM every Sunday
0 2 * * 0
Runs at: 02:00 every Sunday UTC

Use weekday field 0 (or 7) for Sunday. Backup jobs benefit from off-peak Sunday timing.

Report email — weekdays at 8:30 AM
30 8 * * 1-5
Runs at: 08:30 Monday through Friday UTC

The range 1-5 covers Monday (1) through Friday (5). Combine with a timezone-aware job runner if you need local time.

Cron expression cheat sheet

  • * * * * * — every minute
  • 0 * * * * — every hour (at :00)
  • 0 9 * * * — every day at 09:00 UTC
  • 0 9 * * 1-5 — weekdays (Mon–Fri) at 09:00
  • 0 9 * * 1 — every Monday at 09:00
  • 0 0 1 * * — first day of every month at midnight
  • 0 0 1 1 * — once a year on January 1st at midnight
  • */15 * * * * — every 15 minutes
  • 0 */6 * * * — every 6 hours
  • 30 8 * * 1-5 — weekdays at 08:30 (good for morning reports)

Cron syntax differences: Linux vs AWS vs GitHub Actions

  • Linux crontab (5 fields): minute hour day month weekday. Weekday 0 and 7 both mean Sunday.
  • AWS EventBridge (6 fields): minute hour day month weekday year. Year field added. Supports L (last), W (weekday), and # (nth). Day-of-month and day-of-week cannot both be specified — use ? for the one you don't need.
  • GitHub Actions schedule: Uses standard 5-field cron syntax like Linux. Runs in UTC. Minimum interval is 5 minutes (shorter intervals are throttled).
  • Kubernetes CronJob: Uses standard 5-field syntax. Supports @hourly, @daily, @weekly, @monthly, @yearly shorthand macros.
  • Quartz Scheduler (Java, 7 fields): second minute hour day month weekday year. Note: seconds field added at the start.

Frequently asked questions

Both represent Sunday. The traditional Unix cron uses 0 for Sunday; some implementations also accept 7. Use 0 for maximum compatibility across platforms.

Standard cron has a minimum resolution of 1 minute. For sub-minute scheduling, use a different mechanism: setInterval in Node.js, a task queue like BullMQ, or a platform that supports second-level granularity like Quartz Scheduler in Java.

The ? character is used in AWS EventBridge and Quartz Scheduler to mean 'no specific value' for day-of-month or day-of-week. Since you cannot specify both simultaneously in these systems, ? marks the one you are not constraining.

GitHub throttles scheduled workflows during periods of high load and may delay them by up to 15 minutes. Additionally, workflows scheduled more frequently than every 5 minutes are rate-limited. If the repo is inactive for 60+ days, GitHub disables scheduled workflows.

Most cron implementations run in UTC. To convert, subtract or add your UTC offset. For example, 0 9 * * * UTC = 2:30 AM IST (UTC+5:30). A better approach: use a platform that supports timezone-aware cron, such as Kubernetes CronJob with .spec.timeZone or AWS EventBridge Scheduler with a timezone parameter.

L (last) is supported in AWS EventBridge and Quartz. In the day-of-month field, L means the last day of the month. In the weekday field, 5L means the last Friday of the month.

Need another tool?

Browse the full toolbox or dig into the blog for the engineering behind it.

Call UsWhatsApp