Cron Parser

Parse cron expressions into human-readable schedules and preview the next execution times. All processing in your browser.

Instant Parsing Next Run Times Client-Side Processing

Common Presets

Field Reference

Minute Hour Day of Month Month Day of Week
0-59 0-23 1-31 1-12 0-6
Example: */5 * * * * = Every Minute */5

How to Use Cron Parser

1

Enter cron expression

Type a standard 5-field or 6-field cron expression in the input field.

2

Read human description

The expression is instantly translated into a readable sentence.

3

Preview next runs

View the next scheduled execution times to verify your expression.

What is Cron?

Cron is a time-based job scheduler in Unix-like operating systems. Users configure scheduled jobs (cron jobs) using cron expressions — a string of five fields separated by spaces that together define the schedule.

Cron Expression Syntax

A standard cron expression has 5 fields:

Minute (0-59)

Hour (0-23)

Day of Month (1-31)

Month (1-12)

Day of Week (0-6, 0=Sunday)

Special Characters

* * — Any value
, , — Value list separator
- - — Range of values
/ / — Step values

Frequently Asked Questions

What cron formats are supported?

The tool supports standard 5-field cron (minute hour day month weekday) and recognizes common special strings like @yearly, @monthly, @weekly, @daily, and @hourly.

How accurate are the next execution times?

The tool calculates the next N execution times using your current local time as the starting point, accurate to the minute.

Does it support special cron strings?

Yes. Common shortcuts like @yearly, @monthly, @weekly, @daily, @hourly are recognized and expanded.

What does each field in a cron expression mean?

The classic Vixie cron format has five fields: minute (0-59), hour (0-23), day-of-month (1-31), month (1-12 or names), and day-of-week (0-7, where both 0 and 7 mean Sunday). Some schedulers - Quartz, Spring - add a sixth leading seconds field. This parser detects which layout you use from the field count.

What do *, /, -, and , mean inside cron?

* means every value; */5 in the minute field means every 5 minutes; 1-5 is an inclusive range (for example weekdays in the day-of-week field); and mon,wed,fri lists individual values. They combine: 0 9-17/2 * * * runs at 9:00, 11:00, and so on through 17:00 every day.

How do I schedule a job for every day at midnight, or every 6 hours?

Midnight daily is 0 0 * * *. Every 6 hours is 0 */6 * * * - the */6 step in the hour field hits 00:00, 06:00, 12:00, and 18:00. Sunday 3 AM weekly is 0 3 * * 0. This parser computes the next runs so you can confirm the schedule before installing it.

Why does my cron job fire at the wrong time?

Nine times out of ten it is a timezone mismatch: cron evaluates against the server's local clock (some implementations honor CRON_TZ= or TZ= lines in the crontab). Daylight-saving transitions are the second culprit - jobs scheduled inside the spring-forward gap may be skipped, which Vixie cron documents. Docker containers default to UTC unless you set TZ.

How does cron compare with systemd timers or Windows Task Scheduler?

Cron is the classic Unix scheduler: simple, minute-resolution, with no built-in catch-up for missed jobs. systemd timers add second precision, Persistent=true recovery for runs missed while the machine was off, and journald logging. Windows Task Scheduler offers a GUI, event triggers, and run-as-soon-as-possible-after-missed semantics. Kubernetes CronJob plays the same role in cloud-native stacks.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}