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
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.
| Expression | Schedule | Use case |
|---|---|---|
| * * * * * | Every minute | Health checks, real-time monitors |
| */5 * * * * | Every 5 minutes | Queue processing, cache refresh |
| */15 * * * * | Every 15 minutes | API polling, metrics collection |
| 0 * * * * | Every hour | Log rotation, data aggregation |
| 0 0 * * * | Daily at midnight | Database backups, report generation |
| 0 9 * * 1-5 | Weekdays at 9 AM | Slack notifications, daily standups |
| 30 8 * * 1 | Mondays at 8:30 AM | Weekly digest emails |
| 0 9-17 * * 1-5 | Hourly 9–5 on weekdays | Business-hours monitoring |
| 0 0 1 * * | 1st of every month | Monthly invoices, billing cycles |
| 0 0 * * 0 | Every Sunday midnight | Weekly cleanup, full backups |
| 0 2 * * * | Daily at 2 AM | ETL pipelines, nightly builds |
| 0 0 1 1 * | January 1st midnight | Annual 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,@weeklyshortcuts. - 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 viaspec.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.