Developer

Cron Expression Parser

Paste any 5-field cron expression and instantly see what it means in plain English.

Did this calculator help you?

What is Cron Expression Parser?

Cron is the standard scheduling syntax used by Unix/Linux cron jobs, CI/CD pipelines, Kubernetes CronJobs, and countless task schedulers. A cron expression packs an entire recurring schedule into five compact fields, which is powerful but famously hard to read at a glance — is "0 */4 * * 1-5" every 4 hours on weekdays, or something else entirely? This parser breaks a cron expression down field by field and translates it into a plain-English sentence, so you can verify a schedule is correct before deploying it, or quickly understand a schedule someone else wrote without cross-referencing a cron syntax table.

When to Use This Calculator

  • When verifying a cron schedule before deploying a scheduled task or CI/CD pipeline
  • When debugging why a scheduled job ran or didn't run at an unexpected time
  • When reviewing a Kubernetes CronJob or GitHub Actions schedule written by a teammate
  • When learning cron syntax for a sysadmin or DevOps certification course
  • When auditing existing crontab entries during a server migration
  • When designing a complex scheduling pattern that combines multiple time constraints

Steps:

  1. Paste or type a 5-field cron expression into the input.
  2. See each field broken out individually with its meaning.
  3. Read the plain-English translation of the full schedule.
  4. Try a preset button for common schedules like "every hour" or "weekdays at 9 AM".

Formula

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

Use Cases

  • Verifying a cron schedule before deploying a scheduled task or CI/CD pipeline
  • Understanding a Kubernetes CronJob or serverless scheduled function written by a teammate
  • Debugging why a scheduled job ran (or didn't run) at an unexpected time
  • Learning cron syntax for a sysadmin or DevOps course
  • Auditing existing crontab entries during a server migration

Key Benefits

  • Instantly translates cryptic cron syntax into plain English
  • Breaks down each of the 5 fields individually for clarity
  • One-click presets for the most common scheduling patterns
  • No sign-up, runs entirely in your browser

Pro Tips

  • When in doubt, test with a very near-future time first to confirm the schedule fires when expected
  • Use ranges (1-5) instead of listing every value with commas when possible, for readability
  • Double check your server or scheduler's timezone setting — this is the most common source of "wrong time" cron bugs
  • For anything more complex than a simple daily/weekly schedule, write out the plain-English description and compare it to your intent before deploying

Common Mistakes to Avoid

  • Forgetting that day-of-month and day-of-week are OR'd together, not AND'd
  • Mixing up 0-indexed day-of-week (0=Sunday) with 1-indexed conventions from other systems
  • Assuming */7 in the day-of-month field means "every 7 days" — it actually means days 1, 8, 15, 22, 29, restarting each month
  • Forgetting that most cron implementations run in the server's local timezone, not UTC or the user's timezone

Key Terms Explained

Cron: A time-based job scheduler used in Unix-like operating systems
Crontab: The file or command used to define a list of cron jobs
Step value: The "/N" syntax meaning "every N units" starting from a field's minimum
CronJob: Kubernetes' native resource for running cron-scheduled tasks

Related Concepts

Example

The expression "0 9 * * 1-5" breaks down to: minute=0, hour=9, every day of month, every month, Monday through Friday — meaning "At 09:00, Monday through Friday."

Interpreting Your Results

The parser breaks a 5-field cron expression into its individual components and translates each into plain English. 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). A job runs when ALL five fields match the current time — this is AND logic between fields. Pay special attention to the interaction between day-of-month and day-of-week, which uses OR logic (not AND). A job scheduled with day 15 AND day-of-week 5 will run on BOTH the 15th of every month AND every Friday — not just Fridays that fall on the 15th. This is a common source of scheduling bugs.

Frequently Asked Questions

What are the 5 fields in a cron expression?
In order: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). A job runs when all five fields match the current time.
What does an asterisk (*) mean in cron syntax?
An asterisk means "every value is allowed" for that field. For example, * in the hour field means the job can run in any hour, effectively meaning that field doesn't restrict the schedule.
What does */5 mean?
The slash denotes a step value. */5 in the minute field means "every 5 minutes" — starting from the field's minimum value and repeating every 5 units.
How do I schedule a job for weekdays only?
Use a range in the day-of-week field: 1-5 represents Monday through Friday. Combined with a specific hour and minute, e.g. "0 9 * * 1-5" runs at 9:00 AM every weekday.
What does the comma mean in cron syntax?
A comma separates multiple values in a single field. For example, 0,15,30,45 in the minute field means the job runs at minutes 0, 15, 30, and 45. The comma is a simple OR: the job runs at any of the listed values.
What is the hyphen (range) in cron syntax?
A hyphen defines a range of values. For example, 1-5 in the day-of-week field means Monday through Friday (days 1 to 5). Ranges are inclusive of both endpoints. You can combine ranges with other syntax: 1-5,0 means Monday through Friday plus Sunday.
How do I schedule a job to run every 2 weeks?
Standard cron doesn't natively support biweekly scheduling. You have two options: (1) Use a wrapper script that checks the date and only executes every other week, or (2) Use a task scheduler that supports more complex expressions like AWS EventBridge or system timers with calendar-based triggers.
What timezone does cron use?
Standard cron uses the server's local timezone. If your server is configured for UTC, all cron jobs run in UTC regardless of your local timezone. Always verify the server timezone setting, especially in cloud environments where the default may not match your expected timezone.
What is the difference between cron and crontab?
Cron is the daemon (background service) that runs scheduled tasks. Crontab is the configuration file (or command) that defines the list of cron jobs. When you edit your crontab, you're writing the schedule definitions that the cron daemon reads and executes.
How do I handle daylight saving time with cron?
Most cron implementations don't automatically adjust for DST. When clocks spring forward, a job scheduled for 2:00 AM may be skipped entirely. When clocks fall back, a job may run twice. To avoid DST issues, schedule jobs outside the transition hours (2:00–3:00 AM) or use UTC-based scheduling.
Can I use cron for sub-minute intervals?
Standard cron has minute-level granularity and cannot schedule tasks more frequently than once per minute. For sub-minute intervals, use alternatives like systemd timers, Kubernetes CronJobs with shorter intervals, or application-level schedulers (node-cron with millisecond support).

Discover More Tools

Fresh picks from across our tool library.