Cron Expression Parser

Paste any cron expression and get a plain-English explanation plus the next 5 scheduled run times. Supports standard 5-field cron and 6-field (with seconds) syntax. Everything runs in your browser.

Developer Tools

Cron Expression

What This Tool Does

Parses any cron expression into a plain-English description and shows the next 10 scheduled run times, entirely in your browser. Supports standard 5-field and extended 6-field (with seconds) cron syntax.

Who This Is For

  • DevOps and platform engineers verifying that a cron schedule fires when intended
  • Backend developers configuring scheduled tasks in CI/CD pipelines or cloud schedulers
  • Anyone setting up cron jobs who wants to confirm the expression before deploying
  • New engineers learning cron syntax by seeing human-readable translations immediately

Example: Input: A cron expression like 0 9 * * 1-5 → Output: "Every weekday at 9:00 AM" plus the next 10 run dates and times listed explicitly

How to Read a Cron Expression

A cron expression is a string of 5 or 6 fields that define a schedule. Cron exp claims appear in JWT tokens as Unix timestamps β€” the Timestamp Converter decodes them to readable dates. Each field specifies when a job runs along one dimension of time:

FieldPositionAllowed ValuesSpecial Characters
Minute10–59* , - /
Hour20–23* , - /
Day of Month31–31* , - / ? L W
Month41–12 or JAN–DEC* , - /
Day of Week50–7 or SUN–SAT (0 and 7 = Sunday)* , - / ? L #
Year (optional)61970–2099* , - /

The fields are read left to right. A * means "every value in this field." Use this tool to paste any cron expression and get an instant plain-English explanation.

Cron Expression Examples

ExpressionRuns
* * * * *Every minute
0 * * * *Every hour at :00
0 9 * * *Every day at 9:00 AM
0 9 * * MON-FRIWeekdays at 9:00 AM
0 0 1 * *First day of every month at midnight
0 0 * * 0Every Sunday at midnight
*/15 * * * *Every 15 minutes
0 8,12,17 * * *At 8 AM, 12 PM, and 5 PM daily
30 23 L * *Last day of every month at 11:30 PM
0 0 1 1 *January 1st at midnight (once a year)

Special Characters Explained

Cron Syntax Differences by Platform

PlatformFieldsNotes
Unix/Linux crontab5 (no year)Standard. Minute Hour DOM Month DOW.
Spring (Java)6 (seconds first)Adds seconds as first field.
Quartz Scheduler6 or 7Seconds first; optional year at end.
AWS EventBridge6 (cron) or rate()Either cron() or rate(5 minutes) syntax.
GitHub Actions5Standard 5-field syntax in schedule.
Azure Logic Apps6 (seconds first)Seconds field first like Quartz.
GCP Cloud Scheduler5Standard Unix cron syntax with timezone support.

Always confirm which syntax your platform expects β€” the position of seconds (if any) is the most common source of off-by-one scheduling errors.

Scheduling and Automation Tools

Cron expression parsing fits into a broader scheduling and automation workflow:

Related Tools

Related Guides

Frequently Asked Questions

Why didn't my cron job run at the time I expected?
The most common causes: (1) your expression is correct but the server uses UTC and you expected local time β€” always specify timezone where supported; (2) the job runner was down during the scheduled window; (3) you are using a 6-field expression (with seconds) on a platform that expects 5 fields, shifting all values one position.
How do I run a job every 5 minutes?
*/5 * * * * β€” the / step operator divides the minute field into intervals of 5. This runs at :00, :05, :10, :15... every hour.
What does */1 mean β€” is it the same as *?
Yes. */1 and * are equivalent β€” both mean "every value." */1 is redundant but valid.
How do I schedule a job on the last day of every month?
Use the L special character in the day-of-month field: 0 23 L * * runs at 11 PM on the last day of each month. Note: L is supported in Quartz, Spring, and some cron implementations, but not in standard Unix crontab.
What is the difference between 0 and 7 for Sunday in the day-of-week field?
Both 0 and 7 represent Sunday in most cron implementations. This is a historical quirk. In standard Unix crontab, 0 = Sunday. Quartz and some other implementations also accept 7 for Sunday. Using 0 is the safest choice for compatibility.
How do I validate a cron expression without running it?
Use this parser β€” it explains the expression in plain English and shows the next 5 scheduled run times. You can also use crontab.guru for visual validation. For production environments, test with a short schedule first (every minute) to confirm the job runs before switching to the real schedule.