Free Cron Expression Generator & Explainer

Generate and understand cron expressions easily. Perfect for scheduling automated tasks, system jobs, and DevOps workflows with human-readable explanations.

๐Ÿ“ง Get Notified About New Tech Jobs

Enter your email to receive alerts when we post new tech jobs

Cron Expression Builder

Format: minute hour day month day-of-week (e.g., 0 9 * * 1 = 9 AM every Monday)

Quick presets

๐Ÿ”’ Need an IP to whitelist?

Get a dedicated static EU outbound IP for Banks, payments, EHRs, APIs, AI.

No infrastructure migration → Get your static IP Frankfurt ๐Ÿ‡ฉ๐Ÿ‡ช · Helsinki ๐Ÿ‡ซ๐Ÿ‡ฎ · GDPR DPA available

Common Cron Expression Examples

๐Ÿ•› Daily at Midnight

0 0 * * *

Runs every day at 12:00 AM

๐Ÿข Weekdays at 9 AM

0 9 * * 1-5

Runs Monday to Friday at 9:00 AM

โฐ Every 15 Minutes

*/15 * * * *

Runs every 15 minutes

๐Ÿ“… First Day of Month

0 0 1 * *

Runs at midnight on the 1st of every month

๐Ÿ—“๏ธ Weekly on Sunday

0 2 * * 0

Runs every Sunday at 2:00 AM

๐Ÿ”„ Every 2 Hours

30 */2 * * *

Runs at 30 minutes past every 2nd hour

Cron Expression Library

Ready-to-use expressions for common infrastructure schedules. Click any expression to load it into the builder above.

Expression What it does Typical use
*/5 * * * *Every 5 minutesHealth checks, metrics scrape
*/30 * * * *Every 30 minutesCert expiry checks, log ship
0 * * * *At the top of every hourLog rotation, cache warm
15 2 * * *Daily at 2:15 AMDatabase backups
0 4 * * *Daily at 4:00 AMOff-peak maintenance, reboots
30 5 * * 1-5Weekdays at 5:30 AMPre-business-hours prep jobs
0 9 * * 1Every Monday at 9:00 AMWeekly reports, digest emails
0 3 * * 6Every Saturday at 3:00 AMFull backups, index rebuilds
0 0 1 * *First day of every monthInvoicing, compliance exports
0 0 1,15 * *1st and 15th of every monthPayroll, bi-monthly jobs
0 6 1 * 11st of the month OR any Monday at 6 AMPatch windows (cron ORs day fields)
0 0 1 1,4,7,10Quarterly (Jan, Apr, Jul, Oct 1st)Quarterly audits, access reviews
0 0 1 1 *Once a year, January 1stYearly archives, TLS rotation
0 0 * * 0Every Sunday at midnightWeekly cleanup, vacuum jobs

Understanding Cron Expressions

Cron expressions are strings that represent a schedule for automated tasks. They consist of five fields separated by spaces, each controlling a different aspect of timing.

Cron Expression Format

minute hour day month day-of-week

Minute (0-59)

Which minute of the hour to run

Hour (0-23)

Which hour of the day to run (24-hour format)

Day (1-31)

Which day of the month to run

Month (1-12)

Which month of the year to run

Day of Week (0-6)

Which day of the week to run (0 = Sunday, 1 = Monday, etc.)

Special Characters

* (Asterisk)

Matches any value (every minute, hour, day, etc.)

/ (Slash)

Step values (*/5 = every 5 units)

- (Dash)

Range of values (1-5 = 1, 2, 3, 4, 5)

, (Comma)

List of values (1,3,5 = 1, 3, and 5)

Common Use Cases

๐Ÿ’พ Scheduled Backups

Automate database backups, file system snapshots, and data exports during off-peak hours

๐Ÿ“Š Report Generation

Generate daily, weekly, or monthly reports and send them via email or upload to storage

๐Ÿงน System Maintenance

Clean up temporary files, rotate logs, clear cache, and perform system health checks

๐Ÿ”„ Data Sync

Synchronize data between systems, run ETL jobs, and update APIs on regular schedules

How to Use This Tool

  1. Use the dropdown selectors or input fields to set each cron expression field
  2. Watch as the cron expression is built automatically in the output field
  3. Read the human-readable explanation to understand what the expression does
  4. Copy the generated cron expression for use in your crontab or scheduler
  5. Click on common examples to quickly populate frequently used schedules

Cron Job Best Practices

  • Test cron expressions before deploying to production - use tools like cron-calculator.org to verify timing
  • Avoid overlapping jobs - ensure jobs finish before the next scheduled run or implement locking mechanisms
  • Set appropriate timeouts - prevent jobs from running indefinitely and consuming system resources
  • Log everything - maintain detailed logs of cron job execution for debugging and audit purposes
  • Handle failures gracefully - implement error handling and alerting for failed cron jobs
  • Use full paths - always use absolute paths in cron commands to avoid environment variable issues
  • Set environment variables - explicitly define required environment variables in the cron job
  • Monitor resource usage - ensure cron jobs don't exceed memory, CPU, or disk space limits

Frequently Asked Questions

What is the difference between 0 and 7 for Sunday?

Both 0 and 7 represent Sunday in cron expressions. Most systems accept both values, but 0 is more commonly used and standard.

Can I run a cron job every second?

Standard cron expressions only support minute-level precision. For sub-minute scheduling, you'll need specialized tools or write scripts that loop with delays.

How do I schedule a job to run only on weekdays?

Use 1-5 in the day-of-week field. For example, "0 9 * * 1-5" runs at 9 AM Monday through Friday.

What happens if I specify both day and day-of-week?

When both day-of-month and day-of-week are specified (not *), the job runs when either condition is met (OR logic), not when both are met.

What is the difference between 5-field and 6-field cron expressions?

Standard Linux crontab uses five fields (minute hour day month day-of-week). Quartz and Spring Scheduler prepend a seconds field, making six (second minute hour day month day-of-week) โ€” so 0 0 9 * * ? in Quartz means 9 AM daily, not midnight. Kubernetes CronJobs also use the six-field form. This tool explains the standard five-field syntax.

Do @reboot, @daily and other special strings work everywhere?

The @-shorthands (@reboot, @yearly, @annually, @monthly, @weekly, @daily, @midnight, @hourly) are extensions of Vixie cron, supported by most Linux crontab implementations but not by Quartz, Kubernetes CronJobs, or many cloud schedulers. @reboot runs the job once when the cron daemon starts โ€” useful for cleanup after restarts. Prefer the explicit five-field form when portability matters.

Which timezone does cron use?

Traditional cron evaluates expressions in the server's local timezone. That means DST transitions can make a job run twice, run late, or skip an hour entirely. Many modern schedulers (and Vixie cron with CRON_TZ) let you pin a timezone per job โ€” for anything business-hours-sensitive, pin an explicit timezone and don't schedule jobs inside the DST changeover window.