Cron Expression Parser & Generator

Parse, validate, and generate cron expressions online. See human-readable schedule descriptions and next execution times instantly.

Your data never leaves your browser
0 9 * * 1-5
Presets:

How to Use

  1. 1

    Enter your cron expression

    Type or paste a cron expression like '0 9 * * 1-5' in the input field.

  2. 2

    Read the human-readable description

    The tool instantly translates your expression into plain English, such as 'At 09:00, Monday through Friday.'

  3. 3

    Review next execution times

    See the next 10 scheduled run times based on your current local time.

  4. 4

    Try preset expressions

    Click any preset button to quickly load common schedules like 'every minute' or 'daily at midnight.'

What is Cron Expression Parser & Generator?

A cron expression is a compact, five-field string that tells a scheduler exactly when to run a recurring task. The five fields — minute, hour, day of month, month, and day of week — combine to describe any repeating schedule from "every minute" to "at 9 AM on the first Monday of every quarter." If you have ever written a line in a crontab file, a Kubernetes CronJob manifest, or a GitHub Actions schedule trigger, you have used a cron expression.

This online cron parser reads your expression and instantly shows a human-readable description ("At 09:00, Monday through Friday") plus the next 10 scheduled execution times. It catches syntax mistakes before they reach production — a misplaced asterisk can mean the difference between a job that runs once a day and one that fires every second.

The tool covers the standard five-field POSIX cron format used on Linux and macOS, in Docker, Kubernetes, GitHub Actions, GitLab CI, and AWS EventBridge. It also recognizes common presets like @hourly, @daily, and @weekly. For six-field formats with seconds (Spring, Quartz), strip the leading seconds field first.

Below the parser you will find ready-made examples for the most common schedules, a list of frequent mistakes developers make with cron syntax, and a quick-reference table of special characters. You can also read our in-depth guide on cron expression syntax for a complete walkthrough with real-world scenarios.

FAQ

What is the difference between 5-field and 6-field cron expressions?
Standard Unix cron uses 5 fields (minute, hour, day of month, month, day of week). Some systems like Spring and Quartz add a 6th field for seconds at the beginning. This tool supports the standard 5-field format.
Does '* * * * *' run every minute?
Yes. Each asterisk means 'every possible value' for that field, so * * * * * matches every minute of every hour of every day.
What does '*/5' mean in a cron expression?
The /5 is a step value. */5 in the minute field means 'every 5th minute' — at 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, and 55 minutes past the hour.
Is day of week 0 Sunday or Monday?
In standard Unix cron, 0 is Sunday and 6 is Saturday. Some systems also accept 7 as Sunday. This tool uses the standard convention where 0 = Sunday.
What are the most common cron scheduling mistakes?
The three most frequent errors are: (1) confusing day-of-week numbering — 0 is Sunday in standard cron but Monday in some systems; (2) setting both day-of-month and day-of-week to specific values, which creates OR logic in standard cron (the job runs when either matches); (3) forgetting that */5 starts from 0, so '*/7' in the minute field fires at 0, 7, 14, 21, 28, 35, 42, 49, 56 — not every 7 minutes of clock time.
Can I use cron to schedule a job every 30 seconds?
Standard cron has a minimum granularity of one minute. For sub-minute intervals, you need a workaround: run two cron jobs offset by 30 seconds (using sleep), or use a scheduler that supports seconds like Quartz, Spring @Scheduled, or systemd timers.
Where are cron expressions used besides Linux crontab?
Cron syntax is ubiquitous in modern DevOps: Kubernetes CronJobs, GitHub Actions schedule triggers, GitLab CI pipeline schedules, AWS EventBridge (CloudWatch Events), Azure Functions timer triggers, Google Cloud Scheduler, Celery beat (Python), Hangfire (.NET), and Spring @Scheduled (Java). The 5-field format is the same everywhere, though some platforms add a seconds field or require a ? character.
How do I test a cron expression before deploying?
Paste it into this parser to see the human-readable description and the next 10 execution times. If the schedule doesn't match your intent, adjust and re-check. Never deploy a cron expression to production without verifying — a typo like '* * * * *' instead of '0 * * * *' turns an hourly job into one that runs every minute (60× more often).

Related Articles

Related Tools