Back to Blog
Reference4 min read

Cron Expression Cheatsheet: Syntax, Examples & Tips

A quick-reference guide to the cron expression format. Bookmark this page and come back whenever you need to build a schedule.

The Five Fields

Every standard cron expression has five fields, each separated by a space. From left to right:

FieldAllowed ValuesDescription
Minute0 - 59Minute of the hour
Hour0 - 23Hour of the day (24h format)
Day1 - 31Day of the month
Month1 - 12Month of the year
Weekday0 - 7Day of the week (0 and 7 = Sunday)

Special Characters

Beyond plain numbers, cron supports several special characters that give you flexible scheduling options:

CharacterNameUsage
*WildcardMatches every value in the field
,ListSpecifies multiple values: 1,15 means the 1st and 15th
-RangeDefines a range: 1-5 means Monday through Friday
/StepDefines intervals: */10 means every 10 units

Common Schedules

Here are the most frequently used cron expressions. Copy any of them directly into your scheduler:

ExpressionSchedule
* * * * *Every minute
*/5 * * * *Every 5 minutes
*/15 * * * *Every 15 minutes
*/30 * * * *Every 30 minutes
0 * * * *Every hour (on the hour)
0 */2 * * *Every 2 hours
0 */6 * * *Every 6 hours
0 0 * * *Every day at midnight
0 9 * * *Every day at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 0 * * 0Every Sunday at midnight
0 0 1 * *First day of every month at midnight
0 0 1 1 *January 1st at midnight (yearly)
30 4 * * 1Every Monday at 4:30 AM

Combining Special Characters

You can combine characters to create precise schedules. Here are some more advanced examples:

0 9,17 * * 1-5

At 9:00 AM and 5:00 PM, Monday through Friday. Useful for sending start-of-day and end-of-day reports.

0 0 1,15 * *

At midnight on the 1st and 15th of every month. Common for bi-monthly billing cycles.

*/10 9-17 * * 1-5

Every 10 minutes during business hours (9 AM to 5 PM), weekdays only. Ideal for polling an external API during working hours without wasting resources overnight.

0 3 * * 6

Every Saturday at 3:00 AM. A common choice for weekly database backups during low-traffic hours.

Common Pitfalls

  • Day-of-month vs day-of-week overlap. Setting both fields to non-wildcard values creates an OR condition in most implementations, not an AND. The job runs when either condition matches.
  • Timezone awareness. Cron expressions do not include timezone information. Make sure you know which timezone your scheduler uses. CronJobPro lets you set a timezone per job.
  • February and the 31st. If you schedule a job for day 31, it will simply not run in months with fewer days. It will not roll over to the next month.
  • Sunday = 0 or 7. Both values represent Sunday. Use whichever feels more natural, but be consistent.

Build Expressions Visually

If you prefer not to write cron expressions by hand, use our free Cron Expression Generator. It lets you select a schedule using dropdowns and toggles, instantly previews the next 5 execution times, and generates the expression for you to copy.

Put your cron expressions to work

Schedule HTTP requests with automatic retries, monitoring, and alerts. Free for up to 5 jobs.

Start Free — No Credit Card Required