Quick patterns:
Every minute Every hour Every day midnight Weekdays 9am Every Sunday 1st of month Every 15 min Daily 2am Fri 6:30pm

What is a Cron Expression?

A cron expression is a string of five fields separated by spaces that defines a schedule for automated tasks (cron jobs). Originally from Unix/Linux, cron is now widely used in cloud schedulers (AWS EventBridge, GitHub Actions, Kubernetes CronJobs, Heroku Scheduler) and application frameworks.

The five fields represent: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 = Sunday).

Cron Syntax Reference

Each field supports these special characters:

  • * — Any value (wildcard). Example: * * * * * runs every minute.
  • , — List separator. Example: 1,3,5 in the hour field means 1am, 3am, and 5am.
  • - — Range. Example: 1-5 in the day-of-week field means Monday through Friday.
  • / — Step. Example: */5 in the minute field means every 5 minutes.

How to Use This Tool

Type or paste your cron expression in the input field above. The tool will instantly explain each field in plain English, show the full human-readable schedule, and display the next 5 execution times based on the current date and time. Use the quick-pattern buttons to insert common expressions.

Common Cron Expression Examples

  • * * * * * — Every minute
  • 0 * * * * — At the start of every hour
  • 0 0 * * * — Every day at midnight
  • 0 9 * * 1-5 — Every weekday at 9:00 AM
  • 0 0 1 * * — At midnight on the first day of every month
  • */15 * * * * — Every 15 minutes
  • 0 2 * * 0 — Every Sunday at 2:00 AM (common for weekly backups)
  • 0 8,12,17 * * 1-5 — Three times a day on weekdays (8am, noon, 5pm)

Frequently Asked Questions about Cron

What does '* * * * *' mean in cron?

The expression * * * * * means "run every minute of every hour of every day." Each asterisk is a wildcard that matches all valid values for its position: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7). It's the most permissive cron expression and is commonly used for tasks that must run frequently.

How do I run a cron job every 5 minutes?

Use the step syntax with a slash: */5 * * * *. The / means "every N", so */5 in the minute field means every 5 minutes — at :00, :05, :10, :15, and so on. For every 15 minutes use */15 * * * *. For specific minutes like 0, 30 past each hour, use 0,30 * * * * (comma-separated list).

What is the difference between day-of-week 0 and 7 in cron?

Both 0 and 7 represent Sunday. The traditional Unix convention uses 0 for Sunday through 6 for Saturday, but many cron implementations also accept 7 as Sunday for compatibility. Days 1–5 are Monday through Friday, and 6 is Saturday. To schedule only on weekdays, use 1-5 in the day-of-week position: 0 9 * * 1-5 runs at 9 AM Monday through Friday.

Does cron support seconds-level scheduling?

Standard Unix cron does not support sub-minute scheduling — the smallest unit is one minute. If you need second-level precision, consider using system tools like systemd timers (Linux), Task Scheduler (Windows), or application-level schedulers like node-cron, APScheduler (Python), or Quartz (Java) which support 6-field expressions including seconds.

Related Developer Tools