Back to Toolbox

Cron Expression Visualizer

Build and test cron schedule expressions interactively with readable descriptions.

Every minute of every hour of every day.

Tool Documentation & Usage Guide

What Is a Cron Job and How Do Cron Expressions Work?

Cron is a time-based job scheduling daemon built into Unix and Linux operating systems. It allows users to schedule scripts, commands, or programs to run automatically at specified intervals — whether every minute, every night at midnight, on the first of each month, or on any arbitrary recurring schedule. The term "cron" comes from the Greek word for time, chronos. Cron expressions (also called cron schedules or crontab entries) are the concise string syntax used to define these time intervals.

A standard cron expression contains exactly 5 space-separated fields that define when a job fires: minute hour day-of-month month day-of-week. Each field accepts specific value types: an asterisk (*) means "every valid value", a number specifies an exact time, a hyphen (-) defines a range, a comma (,) lists multiple values, and a forward slash (/) followed by a number defines step intervals. Mastering these fields allows you to express virtually any recurring schedule in a single compact expression.

How to Use the Cron Expression Visualizer

Enter a value in each of the five fields: Minutes (0-59), Hours (0-23), Day of Month (1-31), Month (1-12), and Day of Week (0-7, where both 0 and 7 represent Sunday). The Compiled Cron Expression field updates in real-time, showing your complete cron string. The Human Readable Schedule Description translates the expression into plain English, so you can immediately confirm whether the schedule matches your intent without mentally parsing the syntax. Click Copy Cron Expression to copy the result to your clipboard for use in a crontab file, CI/CD configuration, or cloud scheduler.

Common Cron Expression Examples

  • 0 0 * * * — Run at midnight every day (daily backup jobs)
  • */5 * * * * — Run every 5 minutes (health check pings, queue processors)
  • 0 9 * * 1-5 — Run at 9:00 AM Monday through Friday (weekday morning reports)
  • 0 0 1 * * — Run at midnight on the first day of every month (monthly billing, invoicing)
  • 30 2 * * 0 — Run at 2:30 AM every Sunday (weekly database maintenance)

Where Are Cron Expressions Used?

Cron expressions are not limited to Linux servers. They have been adopted as the standard scheduling syntax across a wide range of modern platforms. GitHub Actions uses cron syntax for its schedule trigger to run CI/CD pipelines on a recurring schedule. AWS EventBridge (formerly CloudWatch Events) uses cron expressions to schedule Lambda function invocations. Google Cloud Scheduler, Vercel Cron Jobs, Kubernetes CronJob resources, and enterprise workflow tools like Apache Airflow all use the same 5-field cron syntax.

Frequently Asked Questions

Q: What does */5 in the minute field mean?
A: It means "every 5 minutes". The / symbol defines a step — */5 means "starting from 0, every 5 steps", which fires at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 of every hour.

Q: What is the difference between day-of-month and day-of-week fields?
A: If you specify a value in both the day-of-month and day-of-week fields (neither is *), most cron implementations will fire the job when either condition is true, not when both are true simultaneously. To schedule on a specific day of a specific week, set day-of-month to * and use only the day-of-week field.

Q: Are cron times in UTC or local timezone?
A: The traditional Linux cron daemon uses the server's local timezone. However, cloud-based schedulers (GitHub Actions, AWS EventBridge, Google Cloud Scheduler) execute cron expressions in UTC by default. Always verify the timezone settings of your hosting platform when scheduling time-sensitive jobs.