Cron Expression Parser & Generator

Parse cron expressions into human-readable schedules. See next run times, field breakdown, and common presets.

0

Minute

0-59

9

Hour

0-23

*

Day of Month

1-31

*

Month

1-12

1-5

Day of Week

0-6 (Sun=0)

Human Readable

At 9:00, on Monday through Friday

Next 5 Runs

1.Tue, Mar 31, 2026, 09:00 AM
2.Wed, Apr 1, 2026, 09:00 AM
3.Thu, Apr 2, 2026, 09:00 AM
4.Fri, Apr 3, 2026, 09:00 AM
5.Mon, Apr 6, 2026, 09:00 AM

Common Presets

What is a cron expression?

A cron expression is a compact string that tells a scheduler when to run a job. Originally from the Unix cron daemon, the format is now used everywhere: Linux crontab, GitHub Actions, Kubernetes CronJobs, AWS EventBridge, and CI/CD pipelines. A standard cron expression has 5 space-separated fields:

# ┌───────────── minute (0–59)
# │ ┌───────────── hour (0–23)
# │ │ ┌───────────── day of month (1–31)
# │ │ │ ┌───────────── month (1–12 or JAN–DEC)
# │ │ │ │ ┌───────────── day of week (0–6, Sun=0, or SUN–SAT)
# │ │ │ │ │
  * * * * *

Special characters:
  *     every value
  */n   every n values (step)
  n-m   range from n to m
  n,m   list of values

Common cron expressions cheat sheet

Here are the most frequently used cron schedules. Paste any of these into the parser above to see the next run times.

ExpressionScheduleUse case
* * * * *Every minuteHealth checks, real-time monitors
*/5 * * * *Every 5 minutesQueue processing, cache refresh
*/15 * * * *Every 15 minutesAPI polling, metrics collection
0 * * * *Every hourLog rotation, data aggregation
0 0 * * *Daily at midnightDatabase backups, report generation
0 9 * * 1-5Weekdays at 9 AMSlack notifications, daily standups
30 8 * * 1Mondays at 8:30 AMWeekly digest emails
0 9-17 * * 1-5Hourly 9–5 on weekdaysBusiness-hours monitoring
0 0 1 * *1st of every monthMonthly invoices, billing cycles
0 0 * * 0Every Sunday midnightWeekly cleanup, full backups
0 2 * * *Daily at 2 AMETL pipelines, nightly builds
0 0 1 1 *January 1st midnightAnnual tasks, license renewal

Cron expressions across platforms

While the 5-field format is standard, different platforms have subtle differences:

  • Linux/Unix crontab — the original. Standard 5-field syntax. Edit with crontab -e. Supports @hourly, @daily, @weekly shortcuts.
  • GitHub Actions — uses 5-field syntax under schedule: - cron:. Minimum interval is 5 minutes. All times are UTC. Does not support named days/months.
  • AWS EventBridge — uses a 6-field cron() syntax with an optional year field. Day-of-week uses 1=Sunday. Requires ? in either day-of-month or day-of-week.
  • Kubernetes CronJob — standard 5-field format in spec.schedule. Timezone support via spec.timeZone (Kubernetes 1.27+).
  • Vercel Cron — standard 5-field syntax in vercel.json. Free tier allows 2 cron jobs; Pro tier allows 40. Runs in UTC.

Cron job examples in code

# Linux — edit your crontab
crontab -e
# Run backup every day at 2 AM
0 2 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1

# GitHub Actions workflow
on:
  schedule:
    - cron: '0 9 * * 1-5'  # Weekdays at 9 AM UTC

# Kubernetes CronJob manifest
apiVersion: batch/v1
kind: CronJob
metadata:
  name: nightly-cleanup
spec:
  schedule: "0 2 * * *"
  jobTemplate:
    spec:
      template:
        spec:
          containers:
          - name: cleanup
            image: my-app:latest
            command: ["./cleanup.sh"]

Related Tools

Frequently Asked Questions

What is a cron expression?

A cron expression is a string of 5 fields (minute, hour, day of month, month, day of week) that defines a recurring schedule. It's used in Unix/Linux cron jobs, CI/CD pipelines, Kubernetes CronJobs, and cloud schedulers like AWS EventBridge.

What does * mean in a cron expression?

The asterisk (*) means 'every' — it matches all possible values for that field. For example, * in the minute field means 'every minute'. Combined with other fields, it controls exactly when your cron job fires.

What does */5 mean in cron?

The */N syntax means 'every N'. So */5 in the minute field means 'every 5 minutes' (at 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55). This step syntax works in any field.

Is this a crontab guru alternative?

Yes. This tool provides the same functionality as crontab.guru — parsing cron expressions into human-readable descriptions with next run times — but runs entirely in your browser with a cleaner interface and no ads.

How do I schedule a cron job to run every Monday at 9 AM?

Use the expression 0 9 * * 1. The 0 means minute 0, 9 means 9 AM, the two asterisks mean every day of month and every month, and 1 means Monday (0=Sunday, 1=Monday, ..., 6=Saturday).

What is the difference between 5-field and 6-field cron?

Standard Unix cron uses 5 fields: minute, hour, day of month, month, day of week. Some systems (like AWS EventBridge, Spring, and Quartz) add a 6th field for seconds or a year field. This parser handles the standard 5-field format used by crontab, GitHub Actions, and Kubernetes.

Can I use names instead of numbers for months and days?

Yes. Most cron implementations accept 3-letter abbreviations: JAN-DEC for months and SUN-SAT for days of the week. For example, 0 9 * * MON-FRI runs at 9 AM on weekdays.

Does this cron parser run offline?

Yes. This tool runs 100% in your browser with JavaScript. No data is sent to any server — your cron expressions never leave your device. It works offline once the page is loaded.