Cron Expression Parser

Cron Expression Parser

Cron expression parser and generator — paste any cron for instant description, next run times, and field breakdown. Supports Unix, Quartz, and AWS Events.

Updated May 2026

PLATFORM

LANGUAGE / RUNTIME

SCRIPT / COMMAND

FIELD EDITOR

0–59
0–23
1–31
1–12
0–6

QUICK PRESETS

CRON EXPRESSION

VALID
0 12 * * *

DESCRIPTION

"At 12:00"

FIELD BREAKDOWN

MINUTE 0 0
HOUR 12 12:00 PM
DAY * every day
MONTH * every month
WEEKDAY * any day of week

NEXT EXECUTIONS

#1 Sun, Aug 23, 12:00 PM
#2 Mon, Aug 24, 12:00 PM
#3 Tue, Aug 25, 12:00 PM
#4 Wed, Aug 26, 12:00 PM
#5 Thu, Aug 27, 12:00 PM

PLATFORM TIP: Linux / macOS

Standard 5-field cron. Edit your crontab with `crontab -e`. Runs in the server's local timezone — consider writing schedules in UTC to avoid DST surprises.

How the cron expression generator works

From platform to a ready-to-paste crontab line

1. Pick your platform and runtime

Linux, Kubernetes, GitHub Actions, GitLab CI, Quartz, or AWS EventBridge — plus PHP, Python, or Node.js for the interpreter prefix.

2. Set the fields or apply a preset

Use the visual field editor (MIN, HOUR, DOM, MONTH, DOW) or click a ready-made schedule like "every 5 minutes" or "weekdays at 9 AM".

3. Copy the expression or the full command

Includes the script path and interpreter — paste it straight into crontab, a CronJob manifest, or a workflow file.

What this cron expression generator does

More than a plain syntax parser

Next 5 run times

See exactly when the job will fire next, converted to your local time zone.

Visual field editor

Set minute, hour, day, month, and weekday without memorizing cron syntax by heart.

Full crontab line

Generates the complete command with script path and interpreter prefix (PHP, Python, Node, Ruby, Java, and more).

Real-time validation

A green badge confirms valid syntax before you copy anything into production.

Human-readable description

Every expression is translated into a plain-English sentence, like "At 09:00 on weekdays".

Cron expression examples

Common schedules and what they mean

Expression
Schedule
*/5 * * * *
Every 5 minutes — metrics collection, health checks
0 0 * * *
Every day at midnight — nightly backups
0 9 * * 1-5
Weekdays at 9:00 AM — business-hour jobs
0 0 1 * *
1st of every month — monthly billing runs
0 0 12 * * ?
Quartz: every day at noon (6-field, with seconds)

When you'll reach for this tool

The most common scenarios among people who use it

Kubernetes CronJobs

Build the 5-field schedule for spec.schedule — runs in UTC by default, with a 1-minute minimum interval.

GitHub Actions and GitLab CI

Schedule workflows in UTC — GitHub enforces a 5-minute minimum interval, GitLab an hourly one on shared runners.

Quartz and Spring Boot jobs

Use the 6-field format with seconds, including L, W, and # for advanced day-of-month and day-of-week rules.

AWS EventBridge schedules

Build a 6-field schedule with year — always UTC, with a mandatory ? on either day-of-month or day-of-week.

Laravel, Node, and Python schedulers

Generate the exact cron string for Laravel's ->cron(), node-cron, or APScheduler's CronTrigger — no syntax guessing.

Common cron expression mistakes

Using 5 fields where Quartz requires 6

Quartz adds a seconds field at the very start — a 5-field expression that works in Linux crontab is invalid in Quartz and will throw a parse error.

Forgetting cron runs in UTC in the cloud

Kubernetes, GitHub Actions, and AWS EventBridge all default to UTC, not your server's local time zone — a schedule written for 9 AM local can fire at the wrong hour.

Setting both day-of-month and day-of-week in AWS EventBridge

EventBridge requires a ? in one of the two fields — specifying a real value in both at the same time is rejected.

Assuming day-of-week numbering is the same everywhere

Standard cron uses 0–6 for Sunday–Saturday, but AWS EventBridge uses 1–7 (1 = Sunday) and doesn't accept 0 — copying a Unix expression as-is silently breaks the schedule.

Why use this cron expression generator

It goes beyond a plain parser: it shows the next 5 run times converted to your local time zone, supports 6-field Quartz syntax, and generates the full crontab line with a ready-to-run command.

Platform-specific integration tips — Kubernetes, GitHub Actions, AWS EventBridge, Node.js, Python, PHP, and Docker — help you avoid the classic mistake of pasting the wrong syntax into the wrong platform.

5-field vs. 6-field cron

Which format your platform actually expects

Unix/Linux (5 fields)
Quartz/Spring (6 fields)
AWS EventBridge (6 fields)
Extra field
none
seconds (at the start)
year (at the end)
Time zone
server local time
JVM local time
always UTC
Used by
crontab, Kubernetes, GitHub Actions
Java, Spring Boot, Jenkins
AWS EventBridge

Frequently asked questions

A cron expression is a string of five (or six) space-separated fields that defines a recurring schedule for automated tasks. It's used in Unix crontab, CI/CD pipelines, and cloud schedulers to tell a system when a job should run, without needing a person to trigger it manually.

References

Related Tools