Cron Expression Generator & Explainer
A cron expression is five fields – minute, hour, day‑of‑month, month, day‑of‑week – that tell a scheduler when to run a job. Type any expression below to decode it into plain English and see the next five run times in your own time zone, or tap a preset to build one from scratch.
Quick presets
Tap one to drop it into the box, then tweak the numbers:
How a cron expression is built
Reading left to right, each position controls one unit of time. A * means “every,” a number pins an exact value, a-b is a range, a,b,c is a list, and */n means “every n.” Here is the layout:
* * * * * | | | | | | | | | +--- day of week (0-7, Sun=0 or 7) | | | +----- month (1-12) | | +------- day of month (1-31) | +--------- hour (0-23) +----------- minute (0-59)
Common cron examples
| Expression | Meaning |
|---|---|
* * * * * | Every minute |
*/5 * * * * | Every 5 minutes |
0 * * * * | Every hour, on the hour |
0 9 * * 1-5 | 9:00am, Monday through Friday |
0 0 * * 0 | Every Sunday at midnight |
30 1 1 * * | 1:30am on the 1st of every month |
0 0 1 1 * | Midnight on January 1st (yearly) |
0 8,12,18 * * * | At 08:00, 12:00 and 18:00 daily |
15 14 * * 3 | 2:15pm every Wednesday |
Want a deeper walkthrough of ranges, steps and the day‑of‑week gotcha? Read the complete cron syntax guide. Comparing classic crontab with cloud schedulers like GitHub Actions or Quartz? See cron syntax across platforms.
Frequently asked questions
What does the cron expression * * * * * mean?
Five asterisks mean “run every minute of every hour, every day” – the job fires 60 times an hour. Each asterisk is a wildcard for one field: minute, hour, day-of-month, month and day-of-week, in that order.
What order do the five cron fields go in?
Left to right: minute (0–59), hour (0–23), day of month (1–31), month (1–12) and day of week (0–7, where both 0 and 7 are Sunday). A handy mnemonic is “My Husband Drinks Milk Daily.”
How do I run a cron job every 15 minutes?
Use */15 * * * * – the */15 in the minute field means “starting at 0, every 15 minutes,” so it fires at :00, :15, :30 and :45 of every hour.
Does cron use my local time or UTC?
Classic Unix cron uses the server’s local time zone. Managed schedulers vary: GitHub Actions and many cloud cron services run in UTC. This tool previews the next runs in your browser’s time zone so you can sanity-check either way.
What happens when both day-of-month and day-of-week are set?
In standard Vixie cron, if both the day-of-month and day-of-week fields are restricted (not *), the job runs when EITHER one matches, not both. This tool follows that rule, which trips up a lot of people.
Everything runs in your browser – your expressions are never uploaded. Built and maintained by Marcio. Questions? Get in touch.