UtilSpot

Free Cron Expression Builder — Visual Cron Job Generator

Build cron expressions visually. Pick from quick patterns or use the visual builder to set each field. Get a plain English description of your schedule and the next 5 run times. Free, no signup, runs in your browser.

Quick Patterns

Visual Builder

Cron Expression

* * * * *

Meaning: Every minute

Next 5 Run Times

  1. 1Fri, 5 Jun, 11:44 am
  2. 2Fri, 5 Jun, 11:45 am
  3. 3Fri, 5 Jun, 11:46 am
  4. 4Fri, 5 Jun, 11:47 am
  5. 5Fri, 5 Jun, 11:48 am

Cron Expression Reference Guide

Cron is the standard Unix task scheduler. Cron jobs are used for backups, report generation, cache clearing, API polling, database maintenance, and thousands of other recurring automation tasks. Understanding cron syntax is a foundational developer skill — virtually every server, cloud platform, and CI/CD system supports cron-based scheduling.

FieldValuesSpecial chars
Minute0–59* , - /
Hour0–23* , - /
Day of month1–31* , - / ?
Month1–12* , - /
Day of week0–6 (0=Sun)* , - /

Common Patterns Cheat Sheet

* * * * *Every minute
*/5 * * * *Every 5 minutes
0 * * * *Every hour
0 0 * * *Daily at midnight
0 9 * * *Daily at 9:00 AM
0 9 * * 1-5Weekdays at 9:00 AM
0 9 * * 1Every Monday at 9:00 AM
0 0 1 * *Monthly on the 1st at midnight
0 0 1 1 *Annually on Jan 1st at midnight
*/15 9-17 * * 1-5Every 15 min during business hours

Frequently Asked Questions

What is a cron expression?

A cron expression is a string of five fields that defines a recurring schedule for automated tasks. The fields, in order, represent: minute (0-59), hour (0-23), day of month (1-31), month (1-12), and day of week (0-6, where 0 is Sunday). Special characters include * (any value), */n (every n units), - (range), and , (list). Example: '0 9 * * 1-5' means 'every weekday at 9:00 AM'.

How do I run a cron job every 5 minutes?

Use the expression: */5 * * * * — The */5 in the minutes field means 'every 5 minutes'. This runs at :00, :05, :10, :15, :20, :25, :30, :35, :40, :45, :50, and :55 of every hour. Similarly, */15 runs every 15 minutes, */30 runs every 30 minutes. To run every hour at a specific minute (e.g., at :30 past each hour), use: 30 * * * *

How do I schedule a cron job for weekdays only?

Use 1-5 in the day-of-week field (fifth field). For example, to run every weekday at 9 AM: 0 9 * * 1-5. Day numbering is 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday. For weekends only: 0 10 * * 0,6 (10 AM on Saturday and Sunday). Note that some cron implementations use 7 for Sunday as well as 0.

Can I run a cron job on the last day of the month?

Standard cron syntax does not support L (last day) directly — that's a Quartz cron extension. In standard cron, you cannot reliably schedule for the last day of every month because different months have different lengths. A common workaround is to use a script that checks if tomorrow is the 1st of the next month. Some extended cron implementations (Quartz, Spring) support L in the day-of-month field: 0 0 L * * in Quartz means midnight on the last day of every month.

What timezone does cron use?

Standard cron uses the system timezone of the server it runs on. On most Linux servers, this defaults to UTC. If your server is in UTC but you want to schedule for 9 AM IST (India Standard Time, UTC+5:30), you'd set the cron to 30 3 * * * (3:30 AM UTC = 9:00 AM IST). Modern cron implementations like systemd timers and cloud schedulers (AWS EventBridge, Google Cloud Scheduler) support explicit timezone specification.

Related Tools