Cron Expression Builder

Build cron expressions visually — see next 10 run times

Quick Presets
0-59
0-23
1-31
1-12
0-6 (Sun-Sat)
Cron Expression
* * * * *
Every minute
Next 10 Executions
    Cron Syntax Cheatsheet
    * -- any value
    5 -- specific value
    1-5 -- range (1 through 5)
    1,3,5 -- list of values
    */10 -- every 10th (step)
    1-5/2 -- range with step (1, 3, 5)
    Day of week: 0 = Sunday, 1 = Monday ... 6 = Saturday
    📚
    Learn more — how it works, FAQ & guide
    Click to expand

    Free Cron Expression Builder -- Visual Editor with Next Run Times

    The Toololis Cron Expression Builder helps you create cron expressions visually without memorizing the 5-field syntax. Set each field with simple inputs, see the human-readable description update in real time, and verify the schedule by checking the next 10 execution times. Copy the expression with one click and paste it into crontab, Kubernetes CronJobs, GitHub Actions, Jenkins, or any scheduler.

    Understanding cron syntax

    A standard cron expression consists of 5 fields separated by spaces:

    • Minute (0-59) -- which minute of the hour
    • Hour (0-23) -- which hour of the day (24-hour format)
    • Day of month (1-31) -- which day of the month
    • Month (1-12) -- which month of the year
    • Day of week (0-6) -- which day of the week (0 = Sunday)

    Each field supports wildcards (*), specific values, ranges (1-5), lists (1,3,5), and step values (*/10). The combination of these operators gives cron expressions extraordinary flexibility for scheduling recurring tasks.

    Common cron schedules explained

    Here are the most frequently used cron expressions and what they mean:

    • * * * * * -- Every minute. Useful for health checks or queue workers.
    • 0 * * * * -- Every hour at minute 0. Good for hourly reports.
    • 0 0 * * * -- Daily at midnight. Classic for nightly backups.
    • 30 9 * * 1-5 -- Weekdays at 9:30 AM. Perfect for business-hours tasks.
    • 0 0 1 * * -- First day of every month at midnight. Monthly billing, reports.
    • 0 0 * * 0 -- Every Sunday at midnight. Weekly maintenance window.
    • 0 0 1 1 * -- January 1st at midnight. Annual tasks.

    Where cron expressions are used

    Cron is the de facto standard for time-based job scheduling across virtually every platform:

    • Linux/macOS crontab -- the original cron daemon for scheduled system tasks
    • Kubernetes CronJobs -- scheduled container workloads in k8s clusters
    • GitHub Actions -- schedule trigger in workflow YAML files
    • Jenkins -- build triggers using cron syntax
    • AWS CloudWatch Events / EventBridge -- scheduled Lambda invocations
    • Vercel / Netlify Cron -- serverless scheduled functions
    • WordPress WP-Cron -- scheduled content publishing and maintenance

    Advanced cron syntax tips

    Beyond the basics, cron expressions support powerful combinations:

    • Step values with ranges: 1-30/5 in the minute field triggers at minutes 1, 6, 11, 16, 21, 26
    • Multiple lists: 0,30 in the minute field triggers twice per hour at :00 and :30
    • Combining day fields: when both day-of-month and day-of-week are specified (not *), most cron implementations use OR logic -- the job runs if either condition matches

    Timezone considerations

    Standard cron runs in the server's local timezone. For distributed systems, UTC is recommended. Kubernetes CronJobs default to the kube-controller-manager timezone (usually UTC). This tool calculates next execution times using your browser's local timezone, so adjust accordingly for server deployments.

    How to use the Cron Expression Builder

    1. 1

      Set each field

      Use the dropdowns to set minute, hour, day of month, month, and day of week. Use * for "every", */N for "every Nth", ranges like 1-5, or lists like 1,3,5.

    2. 2

      Read the human description

      The tool shows a plain English description of what the cron expression means, e.g. "Every weekday at 9:30 AM".

    3. 3

      Check next execution times

      Review the next 10 scheduled run times calculated from right now to verify the schedule is correct.

    4. 4

      Use a preset (optional)

      Click a common preset like "Every minute", "Daily at midnight", or "Weekly on Monday" to pre-fill all fields.

    5. 5

      Copy the expression

      Click Copy to send the 5-field cron expression to your clipboard for use in crontab, CI/CD, or task schedulers.

    Frequently Asked Questions

    What is a cron expression?
    A cron expression is a string of 5 fields separated by spaces: minute hour day-of-month month day-of-week. It defines a recurring schedule used by Unix cron, Kubernetes CronJobs, GitHub Actions, and many task schedulers.
    What does * mean in cron?
    The asterisk * means "every". For example, * in the minute field means "every minute". Combined with specific values in other fields, it creates flexible schedules.
    What does */5 mean?
    */5 means "every 5th" unit. In the minute field, */5 triggers at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55. Works in any field.
    How do I set a cron job for weekdays only?
    Set the day-of-week field to 1-5 (Monday through Friday). Example: 30 9 * * 1-5 runs at 9:30 AM every weekday.
    What is the difference between 5-field and 6-field cron?
    Standard Unix cron uses 5 fields (minute, hour, day, month, weekday). Some systems like Quartz add a 6th field for seconds. This tool generates standard 5-field expressions compatible with crontab, Kubernetes, and most schedulers.
    Are the next execution times accurate?
    Yes. They are calculated using JavaScript Date math in your browser based on your local timezone. The tool iterates forward minute-by-minute and checks each candidate against the cron expression.

    You might also like

    🔒
    100% Privacy. This tool runs entirely in your browser. Your data is never uploaded to any server.