Cron Expression Parser & Generator — Decode Cron Syntax Online
Paste a cron expression and get an instant plain-English description, a field-by-field breakdown, and the next 5 scheduled execution times — all in your browser, no account required. Or use the visual field editor and quick presets to build one from scratch.
This tool covers what most cron parsers miss: 5-field Unix/Linux, 6-field Quartz/Spring, AWS EventBridge syntax, and platform-specific integration notes for Kubernetes, GitHub Actions, GitLab CI, Node.js, Python, PHP, and Docker.
How to Use This Cron Expression Parser
- Paste your cron expression into the input field — the description and next run times appear instantly.
- Select your platform to switch between 5-field Unix and 6-field Quartz/AWS formats and see platform-specific tips.
- Use a preset to load common schedules like "every 5 minutes" or "weekdays at 9 AM" with one click.
- Toggle the field editor to build or adjust the expression field by field without memorizing syntax.
- Copy the final expression with the Copy button or
Shift+Enter.
The input validates in real time — a green badge confirms the syntax is correct before you copy.
Cron Expression Fields Explained
A standard Unix cron expression has five 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
| Character | Meaning | Example | Reads as |
|---|---|---|---|
* |
Every value | * * * * * |
Every minute |
, |
List | 0 9,17 * * * |
At 9:00 and 17:00 |
- |
Range | 0 9 * * 1-5 |
At 9:00, Mon–Fri |
/ |
Step | */15 * * * * |
Every 15 minutes |
@ |
Alias | @daily |
Once a day at midnight |
Common @aliases
| Alias | Equivalent | Meaning |
|---|---|---|
@yearly |
0 0 1 1 * |
January 1st at midnight |
@monthly |
0 0 1 * * |
First day of month at midnight |
@weekly |
0 0 * * 0 |
Sunday at midnight |
@daily |
0 0 * * * |
Every day at midnight |
@hourly |
0 * * * * |
Every hour, at :00 |
@reboot |
— | Once at system startup |
Common Cron Expression Examples
| Expression | Description | Use case |
|---|---|---|
* * * * * |
Every minute | Health checks, polling |
*/5 * * * * |
Every 5 minutes | Metrics, syncs |
0 * * * * |
Every hour, on the hour | Hourly reports |
0 0 * * * |
Daily at midnight | Backups |
0 9 * * 1-5 |
Weekdays at 9:00 AM | Business hour jobs |
0 2 * * * |
Daily at 2:00 AM | Nightly ETL/sync |
0 0 * * 0 |
Sunday at midnight | Weekly cleanup |
0 0 1 * * |
1st of each month | Monthly billing |
*/15 9-17 * * 1-5 |
Every 15 min, 9–5, Mon–Fri | Business hours polling |
0 0 1 1 * |
January 1st at midnight | Annual rollover |
Platform Support
5-field format (Unix / Kubernetes / GitHub Actions / GitLab CI)
All these platforms use the standard 5-field Unix cron syntax. Key differences:
- Linux crontab — runs in server local timezone; edit with
crontab -e - Kubernetes — runs in UTC by default; minimum interval 1 minute
- GitHub Actions — runs in UTC; minimum interval 5 minutes; can be delayed up to 15 minutes during peak load
- GitLab CI — runs in UTC; minimum interval 1 hour for shared runners
6-field Quartz/Spring format
Quartz Scheduler (used in Java, Spring Boot, and Jenkins) adds a seconds field at the start:
┌─────────── second (0–59)
│ ┌───────── minute (0–59)
│ │ ┌─────── hour (0–23)
│ │ │ ┌───── day of month (1–31)
│ │ │ │ ┌─── month (1–12)
│ │ │ │ │ ┌─ day of week (1–7 in Quartz, or SUN–SAT)
│ │ │ │ │ │
* * * * * *
Quartz also supports ? (no specific value), L (last day), W (nearest weekday), and # (nth weekday of month).
AWS EventBridge format
AWS EventBridge uses 6 fields with a year field at the end: min hour dom month dow year. You must use ? for either day-of-month or day-of-week (never specify both). All times are in UTC.
Frequently Asked Questions
What is a cron expression?
A cron expression is a string of five (or six) space-separated fields that defines a recurring schedule for automated tasks. It is used in Unix/Linux crontab files, CI/CD pipelines, cloud schedulers, and task scheduling libraries to specify when a job should run — for example, every 5 minutes, daily at midnight, or every weekday at 9 AM. The name comes from Kronos, the Greek god of time.
What does */5 mean in a cron expression?
The / character denotes a step value. */5 in the minute field means "every 5th minute" — at minutes 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55. Similarly, */2 in the hour field runs every 2 hours, and 1-30/2 in the minute field runs at minutes 1, 3, 5, 7... up to 29.
What is the difference between 5-field and 6-field cron?
Standard Unix/Linux cron uses 5 fields (minute through day-of-week). Quartz Scheduler — used in Java, Spring Boot, and Jenkins — adds a seconds field at the very beginning, making 6 fields total. AWS EventBridge also uses 6 fields but appends a year field at the end instead. Always check which format your platform requires, as a 5-field expression is invalid in Quartz and vice versa.
How do I write a cron expression for every weekday at 9 AM?
0 9 * * 1-5 — minute 0, hour 9, any day-of-month, any month, Monday through Friday (1–5). In Quartz format, add a seconds field at the start: 0 0 9 * * MON-FRI.
What do the special Quartz characters ?, L, W, and # mean?
These are Quartz-specific extensions unavailable in standard Unix cron. ? means "no specific value" — required when you specify one of day-of-month or day-of-week but not both. L means "last" (last day of month, or last Friday). W selects the nearest weekday to a given day-of-month. # targets the nth weekday of a month — 2#1 means the first Monday, 5#3 the third Thursday.
How does cron handle timezones?
Standard Unix cron runs in the server's local timezone. If you change the server timezone or deploy across regions, scheduled times shift unexpectedly. Best practice: write all cron schedules in UTC and document that assumption. Kubernetes CronJobs and GitHub Actions schedules run in UTC by default. AWS EventBridge always uses UTC.
What is 0 0 * * * in plain English?
It means "every day at midnight (00:00)." Field by field: minute=0, hour=0, any day-of-month, any month, any day-of-week. It is equivalent to the @daily shortcut.
Is this tool a crontab guru alternative?
Yes. This tool goes beyond what crontab.guru offers: it shows the next 5 execution times with your local timezone, supports 6-field Quartz/Spring syntax, includes a visual field editor, provides platform-specific integration tips for Kubernetes, GitHub Actions, AWS EventBridge, Node.js, Python, PHP, and Docker, and is available in English, Portuguese, Spanish, German, French, and Italian.
Resources
- crontab(5) Linux man page — die.net — The authoritative reference for standard Unix cron expression syntax, field ranges, and special characters.
- Quartz CronTrigger Tutorial — Quartz Scheduler — Official Quartz documentation covering 6-field syntax,
L,W,#, and?characters with examples. - AWS EventBridge Cron Expressions — AWS Docs — AWS reference for the 6-field EventBridge cron format including year support and the required
?character.