Skip to main content

Cron Parser

Cron expressions are notoriously cryptic — "0 2 * * 1-5" means "2 AM on weekdays" but it takes experience to read at a glance. Our parser converts any cron expression to plain English, shows the next 10 scheduled run times, validates the expression, and generates cron expressions from natural language descriptions.

Format: minute hour day-of-month month day-of-week

In plain English

Common Examples

* * * * * — Every minute
0 * * * * — Every hour at minute 0
0 0 * * * — Daily at midnight
*/5 * * * * — Every 5 minutes
0 9 * * 1-5 — 9 AM on weekdays
Share this tool
Developer Tools

About the Cron Expression Parser

Cron expressions are notoriously cryptic — "0 2 * * 1-5" means "2 AM on weekdays" but it takes experience to read at a glance. Our parser converts any cron expression to plain English, shows the next 10 scheduled run times, validates the expression, and generates cron expressions from natural language descriptions.

How to use it

  1. Paste a cron expression (5-field standard or 6-field with seconds).
  2. See the plain-English interpretation and next 10 execution times.
  3. Use the builder: select minute, hour, day, month, weekday to generate the expression.
  4. Type natural language ("every day at 3 AM") to auto-generate the expression.

Formula & methodology

Five fields (left to right): Minute (0–59), Hour (0–23), Day of month (1–31), Month (1–12), Day of week (0–7, 0=Sun). Special: * (any), - (range: 1-5), , (list: 1,3,5), / (step: */15 = every 15). Six-field adds Seconds at the start. Quartz scheduler adds Year as 7th field.

Common use cases

  • Linux/Mac crontab: scheduling backup scripts, log rotation, report generation
  • Laravel scheduled tasks: artisan schedule:run via cron
  • AWS EventBridge, GitHub Actions: rate/cron expressions for workflows
  • Database maintenance: nightly cleanup jobs
  • API polling: scheduled health checks or data sync jobs

Frequently asked questions

"*/5" in the minute field means "every 5 minutes" (0, 5, 10, 15... 55). The * in remaining fields means "any hour, any day, any month, any weekday." So "*/5 * * * *" = every 5 minutes, 24/7/365. Compare: "0 */5 * * *" = at minute 0 of every 5th hour (midnight, 5am, 10am, 3pm, 8pm).
"5 * * * *" runs at minute 5 of every hour (1:05, 2:05, 3:05...). "*/5 * * * *" runs every 5 minutes (1:00, 1:05, 1:10...). The "/" is a step operator; without it, "5" is a specific value. This distinction trips up many developers — "every 5 minutes" requires the step syntax */5, not the value 5.

Related tools

All Tools →

Embed this tool on your site

Free for personal and commercial use. Just copy the snippet below.