PapaTools

Free Cron Expression Generator & Tester

minute · hour · day · month · weekday

0, */5, 0-30

0, */2, 9-17

1, */2, 1-15

1, */3, 6-12

0=Sun, 1=Mon…

Next 5 scheduled runs

  1. 1Thu, Oct 1 2026 at 09:00
  2. 2Fri, Oct 2 2026 at 09:00
  3. 3Mon, Oct 5 2026 at 09:00
  4. 4Tue, Oct 6 2026 at 09:00
  5. 5Wed, Oct 7 2026 at 09:00

Field reference

* — every value*/5 — every 5th value1-5 — range (1 through 5)1,3,5 — list of values0-6 weekday: 0 = Sunday1-12 month: 1 = January

Something not working? Report a problem

About the Cron Expression Generator

Build or decode cron expressions visually — edit any field, use @yearly/@daily shortcuts, and see the next 5 scheduled run times, all in your browser.

How to use the Cron Expression Generator

  1. 1Type a cron expression directly in the expression box, or use the visual field editors below it.
  2. 2Use the shortcut chips (@daily, @weekly, etc.) to start from a common schedule.
  3. 3Edit individual fields — each accepts *, ranges (1-5), lists (1,3,5) and steps (*/15).
  4. 4The Next 5 Runs panel updates instantly to show when your job will next fire.

Frequently asked questions

What is a cron expression?

A cron expression is a string of 5 (or 6) fields that defines a recurring schedule for automated jobs. The standard Unix format is: minute (0–59), hour (0–23), day-of-month (1–31), month (1–12), day-of-week (0–6, where 0 = Sunday). Example: '0 9 * * 1-5' means every weekday at 9 AM.

What do the special characters mean?

* means 'every value'. */n means 'every nth value' (e.g. */5 in minutes = every 5 minutes). a-b means a range (1-5 = 1,2,3,4,5). a,b,c is a list. You can combine them: 0,30 means at minute 0 and minute 30.

When both day-of-month and day-of-week are set, which wins?

Standard Unix cron uses OR logic: a time matches if either the day-of-month OR the day-of-week matches. When either field is *, the other field alone governs. This tool follows the same rule.

What are the @yearly / @daily shortcuts?

@yearly = '0 0 1 1 *' (midnight, Jan 1). @monthly = '0 0 1 * *' (midnight, 1st of month). @weekly = '0 0 * * 0' (midnight Sunday). @daily = '0 0 * * *' (midnight every day). @hourly = '0 * * * *' (top of every hour).

More developer tools

View all