Options
Field orderminute(0-59) hour(0-23) day(1-31) month(1-12) weekday(0-6)
Explanation
The result will appear here
Results appear as you type

How to use the Cron Expression Generator

  1. Pick a template from "Common schedules", or type a cron expression.
  2. The plain-English meaning and each field's values appear instantly.
  3. Check "Next 10 runs" (shown in your computer's time zone).
  4. Press "Copy" and paste the expression into crontab, GitHub Actions or your scheduler.

Examples

Every 15 minutes during office hours on weekdays

Input
*/15 9-18 * * 1-5
Output
Every 15 minutes between 09:00 and 18:59, Monday through Friday

Monthly backup at 3 AM on the 1st

Input
0 3 1 * *
Output
At 03:00, on day 1 of the month

Cron syntax cheat sheet

*Any value
,List of values, e.g. 1,15
-Range, e.g. 9-18
/Step, e.g. */5 = every 5 units
Day of week0 and 7 are Sunday, 1 is Monday; MON, TUE… also work
Macros@hourly, @daily, @weekly, @monthly, @yearly

Watch out: when both day of month and day of week are restricted, standard cron runs when either matches. 0 0 13 * 5 runs on the 13th and every Friday — not only on Friday the 13th.

Specs & key facts

FormatStandard 5-field crontab: minute hour day-of-month month day-of-week
Syntax*, lists, ranges, steps, month and weekday names, @daily-style macros
Day matchingStandard cron OR rule when both day fields are restricted
Next runsNext 10 runs in your browser's time zone
Not supportedSeconds field (Quartz 6–7 fields), L, W, # extensions
ProcessingIn your browser

FAQ

What does */5 * * * * mean?

Run every 5 minutes — at minutes 0, 5, 10 … 55 of every hour.

Which time zone does GitHub Actions use?

GitHub Actions schedules run in UTC. Convert your local time to UTC before writing the expression; this tool shows next runs in your computer's time zone.

Is Sunday 0 or 7?

Both. 0 and 7 mean Sunday.

Why isn't 0 0 13 * 5 "Friday the 13th"?

Standard cron ORs the two day fields when both are restricted, so it runs on every 13th and every Friday. Check for Friday the 13th inside your script instead.