⏰

Cron Expression

Build and understand cron job expressions visually

⚡ Instant & free🔒 Runs in browser100% private
Loading tool…

About Cron Expression

Cron is a time-based job scheduler used in Unix-like systems to run scripts and commands automatically at specified intervals. A cron expression has five fields: minute (0-59), hour (0-23), day of month (1-31), month (1-12) and day of week (0-6). This free Cron Expression Generator lets you build valid cron expressions visually with quick presets, instant preview and plain-English descriptions of what each expression means.

How to Use Cron Expression

  1. 1Use the 5 input fields to set minute, hour, day-of-month, month and day-of-week values.
  2. 2Use * for "any value", */n for "every n units", or ranges like 1-5 for Monday through Friday.
  3. 3The cron expression updates live at the top with a plain-English description.
  4. 4Or click any Quick Preset (Every hour, Every day, Every weekday) to apply it instantly.

Common Use Cases

Schedule server backup jobsAutomate database cleanupPeriodic API polling tasksEmail report schedulingCache invalidation jobsWebsite health checks
💡
Pro Tip

Test your cron expressions before going live — a cron scheduled for "0 0 * * *" runs at midnight daily, while "0 * * * *" runs every hour at :00. One misplaced * can cause unexpected behaviour.

⭐ Popular Free Tools

Frequently Asked Questions

What does the cron expression "* * * * *" mean?

"* * * * *" means "every minute of every hour of every day" — it runs your command every 60 seconds. This is the most permissive cron expression and is typically used only for testing. For a more practical schedule, use "0 * * * *" (every hour at :00) or "0 9 * * 1-5" (weekdays at 9 AM).

What is the difference between cron on Linux and GitHub Actions cron?

Both use standard 5-field cron syntax. Linux cron runs based on the server's local timezone. GitHub Actions cron always runs in UTC. Additionally, GitHub Actions cron schedules may be delayed by up to 15 minutes during high load periods.

How do I run a cron job every 15 minutes?

Use "*/15 * * * *". The */n syntax means "every n units". So */15 in the minutes field means: run at :00, :15, :30 and :45 every hour. Similarly, */5 runs every 5 minutes, and */2 in the hours field runs every 2 hours.

Why is my cron job running at the wrong time?

The most common cause is timezone confusion — cron runs in the server's local timezone by default, which may differ from your timezone. On Linux, check the server timezone with: timedatectl. For GitHub Actions, remember all schedules run in UTC. Convert your desired time to UTC before writing the expression.