Free Cron Expression Generator

Free Cron Expression Generator

Generate, validate, and understand cron expressions with a visual editor. Supports Linux crontab, AWS CloudWatch, GitHub Actions, and Kubernetes formats.

Common Presets

cron-builder.sh

Visual Builder

Expression

Expression
* * * * *
Next Run
Per Day
1,440

Plain English

Next 10 Runs

    Field Reference

    * Any / every value
    */n Every nth unit
    a-b Range from a to b
    a,b,c Specific values list
    a-b/n Range with step
    Field Range
    Minute0–59
    Hour0–23
    Day1–31
    Month1–12
    Weekday0–7 (0,7=Sun)

    What is a Cron Expression?

    A cron expression is a string of five or six fields that defines a recurring schedule for automated tasks. Each field represents a unit of time: minute, hour, day of month, month, and day of week. Cron jobs run automatically on Linux servers, AWS EventBridge, GitHub Actions, and Kubernetes without any manual intervention.

    Field Position Allowed Values Example
    Minute 1st 0–59 */5 (every 5 minutes)
    Hour 2nd 0–23 9 (9 AM)
    Day of Month 3rd 1–31 1 (1st of month)
    Month 4th 1–12 * (every month)
    Day of Week 5th 0–7 (0 and 7 are Sunday) 1-5 (weekdays)

    Cron Special Characters Explained

    Cron expressions use five special characters to define complex schedules. Understanding these characters lets you build any recurring schedule without memorizing syntax.

    Character Name Meaning Example
    * Asterisk Every value in field * in hour means every hour
    , Comma Multiple values 8,12,16 means 8AM, 12PM, 4PM
    - Hyphen Range of values 1-5 means Monday to Friday
    / Slash Step interval */15 means every 15 minutes
    ? Question mark No specific value (AWS/Kubernetes only) Used when day-of-month or day-of-week is unspecified

    Cron Shortcuts Reference

    Most cron implementations support shortcut strings that replace the five-field expression with a readable keyword.

    Shortcut Equivalent Description
    @reboot N/A Run once at startup
    @yearly 0 0 1 1 * Once a year on January 1st
    @monthly 0 0 1 * * Once a month on the 1st
    @weekly 0 0 * * 0 Once a week on Sunday
    @daily 0 0 * * * Once a day at midnight
    @hourly 0 * * * * Once an hour

    AWS EventBridge Cron Syntax

    AWS EventBridge uses a six-field cron expression wrapped in cron() syntax: cron(Minutes Hours Day-of-month Month Day-of-week Year). Unlike Linux cron, EventBridge requires a question mark (?) in either the Day-of-month or Day-of-week field when the other is specified.

    Use Case Expression
    Every day at 10:15 AM UTC cron(15 10 * * ? *)
    Every weekday at 9 AM UTC cron(0 9 ? * MON-FRI *)
    First day of every month cron(0 0 1 * ? *)
    Every 5 minutes cron(0/5 * * * ? *)

    GitHub Actions Cron Syntax

    GitHub Actions uses standard 5-field Unix cron syntax in the schedule trigger. All schedules run in UTC timezone. The minimum interval GitHub Actions supports is every 5 minutes.

    on:
      schedule:
        - cron: '0 9 * * 1-5'  # Every weekday at 9 AM UTC

    Cron Expression Examples

    Use Case Expression
    Every minute * * * * *
    Every 5 minutes */5 * * * *
    Every day at midnight 0 0 * * *
    Every weekday at 9 AM 0 9 * * 1-5
    First day of month 0 0 1 * *
    Every Sunday at midnight 0 0 * * 0
    Every 15 minutes */15 * * * *
    Twice daily at 8AM and 8PM 0 8,20 * * *

    Tip: click any expression to load it into the generator above.

    Frequently Asked Questions

    A cron job is a scheduled task on Unix/Linux systems that runs automatically at defined time intervals, managed by the cron daemon. It uses a 5-field cron expression to define when to run a command.

    Use */5 * * * *. The */5 in the minute field means every 5th minute, running at :00, :05, :10 ... :55. Click the "Every 5 minutes" preset button above to generate it automatically.

    AWS EventBridge cron uses 6 fields (adds a year field) vs 5-field Linux crontab, and requires ? in either day-of-month or day-of-week. All AWS schedules run in UTC; Linux crontab uses local system time.

    Kubernetes CronJobs use standard 5-field cron syntax in the spec.schedule field. For example, schedule: "0 9 * * 1-5" runs a job at 9 AM on weekdays.

    */5 means "every 5th unit from the minimum value." In the minute field it expands to 0, 5, 10, 15 ... 55, running the job every 5 minutes. The same step syntax works in any cron field.

    Use the expression 0 9 * * 1-5: 0 sets the minute to :00, 9 sets the hour to 9 AM, and 1-5 means Monday through Friday.

    What is a Cron Job?

    A cron job is a scheduled task that runs automatically on a Unix-like server at a defined time or interval, managed by the cron daemon. The name comes from the Greek word chronos (time). Cron has been a core part of Linux and Unix system administration since the 1970s and remains the standard mechanism for task scheduling today.

    Each cron job is defined by a cron expression: a compact string of 5 space-separated fields representing minute, hour, day-of-month, month, and day-of-week, paired with the command to execute. These entries are stored per-user in a file called the crontab (cron table), edited with crontab -e. The cron daemon wakes up every minute, reads the crontab, and runs any job whose schedule matches the current time. Common use cases include nightly database backups, hourly cache invalidation, weekly security scans, daily report emails, and continuous monitoring scripts.

    How to Use This Cron Expression Generator

    This free online cron generator works entirely in your browser — no sign-up, no install. There are three ways to build an expression:

    1. Use a preset. Click any preset button at the top — "Every 5 minutes," "Daily at 9 AM," "Weekdays 9–5," and more. The expression field and all dropdowns update instantly.

    2. Use the visual dropdowns. Select values for Minute, Hour, Day, Month, and Weekday from the dropdowns. The expression field updates in real time and the Plain English panel explains what the schedule means in plain language.

    3. Type directly. Enter any cron expression, including step values (*/5), ranges (9-17), and comma lists (1,15), into the Expression field. The generator validates it instantly and syncs the dropdowns to match.

    Cron Expression Examples for Linux, AWS and Kubernetes

    The table below lists the most commonly needed cron job schedules with their Linux crontab expressions. Click any expression to load it directly into the generator above.

    Expression Schedule
    * * * * * Every minute
    */5 * * * * Every 5 minutes
    0 9 * * * Daily at 9:00 AM
    0 9 * * 1-5 Weekdays at 9:00 AM
    0 0 1 * * 1st of every month, midnight
    0 0 * * 0 Every Sunday at midnight
    30 5 1,15 * * 5:30 AM on the 1st and 15th
    0 2 * * * Nightly backup at 2:00 AM
    0 */6 * * * Every 6 hours
    0 0 1 1 * Once a year — Jan 1 midnight

    Tip: click any expression in the table to load it into the generator.

    Cron Job Syntax Guide — All Fields Explained

    A standard Linux cron job syntax has five fields in this order:

    Position Field Allowed values
    1 Minute 0–59
    2 Hour 0–23
    3 Day of month 1–31
    4 Month 1–12 or JAN–DEC
    5 Day of week 0–7 (0,7=Sun) or SUN–SAT

    The four special characters work in all fields: * means every value, , separates a list (e.g. 1,15), - defines a range (e.g. 9-17), and / sets a step interval (e.g. */5).

    AWS Cron Expression Generator vs Linux Crontab

    The AWS cron expression generator tab handles the most error-prone part of writing AWS EventBridge schedules: the format differences from standard Linux crontab.

    Feature Linux crontab AWS EventBridge
    Field count 5 fields 6 fields (adds year)
    Format wrapper 0 9 * * 1-5 cron(0 9 ? * MON-FRI *)
    Day/weekday conflict OR logic — both can be set Requires ? in one field
    Weekday numbering 0–6 (Sunday = 0) 1–7 (Sunday = 1)
    Timezone System local time UTC only
    Shorthand aliases @daily, @hourly, @reboot Not supported

    The most common mistake when porting a Linux cron expression to AWS EventBridge is forgetting the ? wildcard. This generator's AWS CloudWatch tab performs the conversion automatically and shows the complete cron() string ready to paste into an EventBridge rule.