Cron Calculator

Build, validate, and understand cron expressions instantly.

In Plain English

What your cron expression actually means.

Enter a cron expression to see what it means.

Upcoming Executions

Preview the next 50 times this schedule will trigger.

Enter a valid expression to see upcoming run times.

Cron Syntax Reference

A cron expression has five space-separated fields: minute hour day month weekday. Each field controls when the job runs.

For example, runs at midnight daily, runs at midnight every Monday, and runs at midnight on weekdays.

FieldAllowed ValuesExample
Minute0-595
Hour0-2314
Day of Month1-311
Month1-12 or JAN-DECJAN
Day of Week0-6 or SUN-SATMON

Special Characters

  • * — matches any value
  • , — list multiple values (e.g., 1,3,5)
  • - — define a range (e.g., 1-5)
  • / — specify intervals (e.g., */15 for every 15)

Shorthand Aliases

Most crontab implementations accept these shortcuts, and so does this calculator:

  • — same as 0 * * * *
  • — same as 0 0 * * * (also @midnight)
  • — same as 0 0 * * 0
  • — same as 0 0 1 * *
  • — same as 0 0 1 1 * (also @annually)

Common Examples

  • Every day at midnight
  • Every 15 minutes during work hours, Mon-Fri
  • Every Sunday at noon
  • On the first day of every month at midnight
  • Every Friday at 6 PM

What is Cron?

Cron is a time-based job scheduler found in Unix-like operating systems. A cron expression defines when a task should run using a compact five-field format.

You'll find cron expressions in Linux servers, AWS CloudWatch, GitHub Actions, Kubernetes CronJobs, and most CI/CD platforms. They're powerful but notoriously hard to read—that's why we built this tool.

Common Cron Job Use Cases

  • Database backups — Schedule nightly or weekly backups of your database
  • Log rotation — Clean up old log files to free disk space
  • Email reports — Send daily or weekly summary emails
  • Cache clearing — Periodically clear application caches
  • Data sync — Synchronize data between services at regular intervals
  • Health checks — Monitor system health every few minutes
  • CI/CD pipelines — Trigger scheduled builds and deployments

Cron Tips & Best Practices

  • Avoid midnight congestion — Many jobs run at . Stagger your jobs to reduce server load.
  • Use specific times (3 AM) is often better than midnight for maintenance tasks.
  • Consider timezones— Cron runs in the scheduler's timezone, which is usually UTC on servers. Use the timezone picker above to preview run times before you deploy.
  • Watch uneven steps looks like every 7 minutes, but the gap from minute 56 back to 0 is only 4 minutes.
  • Test with shorter intervals — When debugging, use (every 5 min) before switching to the final schedule.
  • Log your jobs — Always redirect output to a log file for debugging.
  • Use absolute paths— Cron doesn't load your shell profile, so always use full paths to commands and scripts.

Frequently Asked Questions

What's the difference between 5-field and 6-field cron?

Standard cron uses 5 fields (minute, hour, day of month, month, day of week). Quartz and Spring add a 6th field for seconds at the beginning. This tool accepts both and warns you when a 6-field expression won't be portable to standard crontab, GitHub Actions, or Kubernetes.

Is Sunday 0 or 7?

Both work in most implementations. Sunday is typically 0, with Saturday as 6. Many systems, including this tool, also accept 7 for Sunday.

How do I run a cron job every 2 hours?

Use 0 */2 * * * to run at minute 0 of every 2nd hour (midnight, 2 AM, 4 AM, and so on). Because 24 divides evenly by 2, the spacing stays even across midnight.

Why does my cron job run on days I didn't expect?

If you restrict both day of month and day of week, cron combines them with OR, not AND. For example 0 0 1 * 1 runs on the 1st of the month AND on every Monday, not only on Mondays that fall on the 1st. To require both conditions, restrict one field and check the other inside your script.

Can I run a cron job on the last day of the month?

Standard cron doesn't support 'last day of month' directly. You'll need a workaround script that checks the date, or an extended implementation such as Quartz that supports the L character.

Does */7 really run every 7 minutes?

Not across the hour boundary. Steps restart each cycle, so */7 fires at minutes 0, 7, 14, 21, 28, 35, 42, 49, and 56 — then the next run is at minute 0, only 4 minutes later. Use a step that divides 60 evenly, or list the minutes explicitly.

What timezone do cron expressions use?

Cron expressions have no timezone of their own — they're interpreted in whatever timezone the scheduler runs in, which is usually UTC on servers and CI platforms. GitHub Actions is always UTC. This calculator lets you preview run times in any timezone so you can check before you deploy.