All tools
Free Tool

Cron Expression Builder

Build and validate cron expressions with a visual editor. See human-readable descriptions, preview next run times, and copy for crontab, Kubernetes, GitHub Actions, or any scheduler.

Cron expression

* * * * *

Every minute

* = every minute, */5 = every 5 min, 0,30 = at 0 and 30

* = every hour, 9 = at 9 AM, 9-17 = 9 AM to 5 PM

* = every day, 1 = 1st, 1,15 = 1st and 15th

* = every month, 1 = January, 1-6 = Jan through Jun

* = every day, 0 = Sunday, 1-5 = Monday to Friday

Common schedules

Next 5 run times

Based on your local time zone

1.Fri, Jun 26, 2026, 04:12 PM
2.Fri, Jun 26, 2026, 04:13 PM
3.Fri, Jun 26, 2026, 04:14 PM
4.Fri, Jun 26, 2026, 04:15 PM
5.Fri, Jun 26, 2026, 04:16 PM

Syntax reference

Symbol Meaning Example
* Every value * in hour = every hour
*/n Every nth value */15 in minute = every 15 min
a-b Range from a to b 9-17 in hour = 9 AM to 5 PM
a,b,c Specific values 1,15 in day = 1st and 15th

Make sure your cron jobs actually run

A cron expression defines when a job should run. Heartbeat monitoring confirms that it did. Vantaj alerts you within minutes when a scheduled job misses its expected check-in.

Start monitoring free

How cron expressions work

A cron expression is a five-field string that tells a scheduler when to run a job. Each field represents a time unit, read left to right: minute, hour, day of month, month, day of week. The scheduler evaluates the expression every minute and runs the job when all five fields match the current time.

The format was introduced in Unix V7 in 1979 and remains the standard scheduling syntax across crontab, Kubernetes CronJobs, GitHub Actions, AWS CloudWatch Events, Google Cloud Scheduler, and most task scheduling libraries in every major programming language.

*
min
*
hour
*
day
*
month
*
weekday

Where cron expressions are used

Linux/macOS crontab: The original. Edit with crontab -e and add lines like 0 2 * * * /usr/local/bin/backup.sh to run a backup at 2 AM daily.

Kubernetes CronJobs: The spec.schedule field uses standard cron syntax to run containerized jobs on a schedule.

GitHub Actions: The schedule trigger accepts cron expressions in UTC. Common use: nightly builds, scheduled dependency updates, periodic data syncs.

AWS CloudWatch / EventBridge: Supports both cron and rate expressions. Note that AWS cron has 6 fields (adds year) and uses ? for "no specific value" in day fields.

Application schedulers: Libraries like node-cron, celery beat, APScheduler, and Hangfire all accept standard cron expressions for task scheduling within applications.

Frequently asked questions

What is a cron expression?
A cron expression is a string of five fields separated by spaces that defines a schedule. The five fields are: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). Cron is used by Unix/Linux crontab, Kubernetes CronJobs, GitHub Actions, AWS CloudWatch, and most job schedulers.
What does the asterisk (*) mean in cron?
An asterisk means "every value" for that field. So * in the minute field means "every minute," and * in the hour field means "every hour." You can combine asterisks with slashes for intervals: */5 in the minute field means "every 5 minutes."
How do I run a cron job every 5 minutes?
Use */5 * * * *. The */5 in the minute field means "every 5th minute." This runs at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour.
How do I run a cron job on weekdays only?
Set the day-of-week field to 1-5. For example, 0 9 * * 1-5 runs at 9:00 AM Monday through Friday. Day 0 is Sunday, day 6 is Saturday.
What is the difference between 5-field and 6-field cron?
Standard cron uses 5 fields (minute, hour, day-of-month, month, day-of-week). Some systems like Quartz and Spring add a 6th field for seconds at the beginning. This builder uses the standard 5-field format, which works with crontab, Kubernetes, GitHub Actions, and most schedulers.
How do I monitor if my cron job actually ran?
Use heartbeat monitoring (also called dead man's switch). Your cron job sends an HTTP request to a monitoring endpoint after each run. If the expected request doesn't arrive on schedule, the monitoring service alerts you. Vantaj provides heartbeat monitoring that tracks your cron jobs and alerts you when one misses its expected check-in.