EthicalFusion
Data & Developers

How to Read a Cron Expression (the * * * * * Mystery, Solved)

What each field in a cron schedule means, common examples decoded, and a free tool that explains any expression in plain English.

By the EthicalFusion team Published Updated 1 min read

0 9 * * 1-5 looks like a cat walked across the keyboard, but it's a precise schedule. Cron expressions power scheduled jobs everywhere — backups, emails, reports — and reading them is a five-minute skill.

The five fields

A standard cron line has five space-separated fields, in order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where 0 and 7 both mean Sunday). An asterisk * means "every". Paste any expression into the cron expression explainer to get a plain-English description.

Reading the example

0 9 * * 1-5 = minute 0, hour 9, any day of month, any month, weekdays 1–5 (Mon–Fri) → "at 09:00, Monday through Friday". Once you see the field order, every expression unlocks.

The special characters

* every, , a list (1,15), - a range (9-17), and / a step (*/15 means every 15 units). So */15 9-17 * * * is "every 15 minutes between 9am and 5pm".

Common patterns worth memorizing

0 0 * * * daily at midnight · 0 * * * * every hour on the hour · */5 * * * * every 5 minutes · 0 0 1 * * first of every month · 0 0 * * 0 every Sunday midnight.

Test before you trust

A wrong cron line can run a job 60× too often or never. Always decode your expression with the explainer before deploying it — "every minute" instead of "every day" is a classic, expensive mistake.

  • #cron
  • #developers
  • #devops
  • #scheduling

Tools used in this guide

Free, no sign-up, and they run in your browser.

About EthicalFusion

EthicalFusion offers 321 free online tools for money, documents, images, writing and code. This guide was written by the team that builds them. Calculators give estimates, so confirm important figures with your bank, CA or doctor.

About us Suggest a correction

Keep reading

All articles