Language
English English Vietnamese (Tiếng Việt) Vietnamese (Tiếng Việt) Chinese (简体中文) Chinese (简体中文) Portuguese (Brazil) (Português do Brasil) Portuguese (Brazil) (Português do Brasil) Spanish (Español) Spanish (Español) Indonesian (Bahasa Indonesia) Indonesian (Bahasa Indonesia)
Cron Expression Generator

Cron Expression Generator

Build and test cron job expressions with a visual builder, human-readable descriptions, and next execution time preview.

What is a Cron Expression?

A cron expression is a string of five fields that defines a schedule for recurring tasks on Unix-like systems. Each field represents a time unit: minute, hour, day of month, month, and day of week.

Universal scheduling format: Cron expressions provide a standardized way to define task schedules across different platforms and programming environments.

Common Use Cases

System Administration

Linux/Unix crontab for scheduling system tasks, backups, and maintenance operations

CI/CD Pipelines

GitHub Actions, GitLab CI, Jenkins for automated builds and deployments

Cloud Services

AWS CloudWatch, Google Cloud Scheduler for serverless task automation

Application Frameworks

Laravel, Spring, Node.js task schedulers for recurring application jobs

Expression Format

A standard cron expression consists of 5 fields separated by spaces, each representing a specific time component:

Cron Expression Structure
┌───────────── minute (0-59)
│ ┌───────────── hour (0-23)
│ │ ┌───────────── day of month (1-31)
│ │ │ ┌───────────── month (1-12)
│ │ │ │ ┌───────────── day of week (0-6, 0 = Sunday)
│ │ │ │ │
* * * * *

Special Characters

Wildcard: *

Matches any value in the field

  • Use when you want all possible values
  • Example: * * * * * runs every minute

List: ,

Separates multiple specific values

  • Example: 1,3,5 means values 1, 3, and 5
  • Useful for non-consecutive values

Range: -

Defines a continuous range of values

  • Example: 1-5 means values 1 through 5
  • Inclusive of both start and end values

Step: /

Defines intervals or increments

  • Example: */5 means every 5 units
  • Can combine with ranges: 10-30/5

How to Use This Tool

This cron expression builder offers three flexible methods to create and validate your schedules. Choose the approach that best fits your workflow.

Visual Builder Method

Build expressions using an intuitive interface without memorizing syntax:

1

Select Time Field

Choose which field to configure: Minute, Hour, Day of Month, Month, or Day of Week. Each field is color-coded for easy identification.

2

Choose Configuration Mode

Select from four available modes:

  • Every — wildcard (*) matches all values
  • Every N — regular intervals (e.g., every 5 minutes)
  • Specific — pick exact values from clickable grid
  • Range — define start and end values
3

Review & Verify

The expression, human-readable description, and next run times update automatically as you make changes.

Direct Input Method

For experienced users who prefer typing cron syntax directly:

1

Click Expression Field

Click on any of the 5 expression fields displayed at the top of the tool.

2

Type Your Value

Enter your cron value directly using standard syntax:

  • */5 for intervals
  • 0,30 for specific values
  • 9-17 for ranges
3

Automatic Sync

The visual builder automatically updates to reflect your input, providing instant validation and feedback.

Quick Presets Method

Start with commonly used schedules and customize as needed:

Every minute

* * * * *
Runs every single minute

Every 5 minutes

*/5 * * * *
Runs at 5-minute intervals

Daily midnight

0 0 * * *
Runs at 00:00 every day

Weekdays 9 AM

0 9 * * 1-5
Monday-Friday at 9:00

Monthly 1st

0 0 1 * *
First day of each month

Click any preset button to instantly load the schedule, then modify using the visual builder or direct input as needed.

Verifying Your Expression

Best practice: Always check the Next Execution Times panel after building your expression to confirm the schedule matches your expectations. The panel displays the next 5 upcoming run times with both absolute timestamps and relative time indicators (e.g., "in 2h 30m").

Features

Color-Coded Fields

Each of the 5 cron fields is displayed with a distinct color that matches the corresponding builder section.

  • Instant visual identification
  • Easy to track which field you're editing
  • Reduces configuration errors

Visual Builder

Build expressions without memorizing cron syntax using intuitive controls.

  • 4 configuration modes per field
  • Clickable grids for specific values
  • Slider controls for ranges

Human-Readable Descriptions

Every expression is instantly translated into plain English.

  • Clear, natural language output
  • Example: 0 9 * * 1-5 → "At 09:00, Monday-Friday"
  • Eliminates guesswork

Next Execution Times

See the next 5 upcoming run times based on current date and time.

  • Full date and time display
  • Relative timestamps (e.g., "in 2h 30m")
  • Real-time updates

Real-Time Validation

Invalid values are caught immediately with specific error messages.

  • Value range checking
  • Syntax format validation
  • Field constraint verification

Two-Way Sync

Edit expression fields directly or use the visual builder — both stay in sync.

  • Instant bidirectional updates
  • Switch between methods seamlessly
  • No data loss when switching modes

Quick Presets

Nine commonly used schedules available as one-click presets.

  • Every minute to yearly schedules
  • Business hours configurations
  • Instant loading and customization

Syntax Cheatsheet

Collapsible reference table included at the bottom of the tool.

  • Allowed values for each field
  • Special character meanings
  • Quick syntax examples

Privacy-First

All processing happens entirely in your browser.

  • No server communication
  • No data collection
  • Works offline after initial load

Frequently Asked Questions

What cron format does this tool support?

This tool supports the standard 5-field cron format used by Unix/Linux crontab: minute, hour, day of month, month, and day of week.

Important note: This tool does not support extended formats with seconds or year fields (such as Quartz cron expressions used in some Java applications).

What happens when both Day of Month and Day of Week are set?

In standard cron, when both fields are specified (not *), the job runs if either condition is met (OR logic).

Example: OR Logic
0 0 15 * 1
# Runs at midnight on:
# - The 15th of every month (regardless of day of week)
# - AND every Monday (regardless of day of month)

This means the job will execute more frequently than you might initially expect. To run only on specific combinations, set one field to *.

What does */5 mean?

The / character defines a step value or interval. */5 in the minute field means "every 5 minutes" starting from 0.

Basic Step

*/5 in minute field

Runs at: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55 minutes past the hour

Range + Step

10-30/5 in minute field

Runs at: 10, 15, 20, 25, 30 minutes past the hour (every 5 minutes between 10 and 30)

Is Sunday 0 or 7?

In standard cron, Sunday is 0 and Saturday is 6. The day of week field uses a 0-6 range:

  • 0 = Sunday
  • 1 = Monday
  • 2 = Tuesday
  • 3 = Wednesday
  • 4 = Thursday
  • 5 = Friday
  • 6 = Saturday
Platform note: Some systems also accept 7 for Sunday, but this tool uses the standard 0-6 range for maximum compatibility.

Is my data sent to a server?

No. All expression building, validation, description generation, and next run calculations happen entirely in your browser using JavaScript.

Privacy guarantee: No data is transmitted to any server. The tool works completely offline after the initial page load, and no analytics or tracking is performed on your cron expressions.

Can I use this for AWS, GitHub Actions, or Kubernetes?

The standard 5-field cron syntax generated by this tool is compatible with most platforms and services:

  • Linux/Unix crontab
  • AWS CloudWatch Events
  • GitHub Actions (schedule trigger)
  • Kubernetes CronJobs
  • Laravel task scheduling
  • GitLab CI/CD schedules
  • Google Cloud Scheduler
Important note: Some platforms may have minor syntax variations or support extended formats. Always check your specific platform's documentation to confirm compatibility and any platform-specific features.

For example, AWS CloudWatch Events uses a 6-field format with an additional year field, while Quartz schedulers (used in Java applications) support 7 fields including seconds.

Minute
Hour
Day (Month)
Month
Day (Week)
Next Execution Times
Type directly into the expression fields or use the visual builder below
Click a preset to quickly load common schedules
The color-coded fields match the builder sections for easy reference
When both Day of Month and Day of Week are set, cron uses OR logic (runs if either matches)
All processing happens in your browser — no data is sent to any server
Want to learn more? Read documentation →
1/6
Start typing to search...
Searching...
No results found
Try searching with different keywords