K
ken
HomeArticles🕐 Time Converter📋 JSON Tools🖼️ Base64 Image🔑 Password Generator Cron Expression🔤 Case Converter📱 QR Code#️⃣ Hash🔡 Encoding🔍 Regex Tester⚙️ Config Convert🔐 Encrypt/Decrypt⚖️ BMI Calculator🎲 Random Data🗜️ Image Tools🌍 World Clock🏛️ Roman Numeral🔢 Number to Chinese💰 Loan Calculator

Cron Expression

Cron expressions are the standard syntax for scheduling recurring tasks on Unix/Linux — five fields representing minute, hour, day, month, and weekday, separated by spaces. From GitHub Actions schedule triggers to Kubernetes CronJobs, from Jenkins pipelines to system crontabs, cron expressions are the universal language of automation. But the syntax isn't intuitive at first glance — when exactly does `*/5 * * * *` run?

This tool works both ways: paste a cron expression to get a human-readable description and the next 5 execution times; or use the visual builder to construct expressions by clicking — no memorization needed. Includes 20+ preset templates covering log rotation, database backups, cache clearing, and other common scenarios.

Cron → Readable

Next Executions

Enter a cron expression to see next execution times

Visual Builder

GeneratedCopy

*/5 * * * *

Minute
/
Hour
Any
Day
Any
Month
Any
Weekday
Any

Format Guide

minhrdaymondow= expression order
*every/any
*/Nevery N
Nspecific
N-Mrange

📖 Cron Expression Tool Guide

What Is a Cron Expression?

Cron is the job scheduler on Unix/Linux systems. A cron expression consists of 5 fields: minute hour day month weekday, separated by spaces. Each field can be a specific value, a range, a step value, or * (any). Cron expressions are universal across GitHub Actions (schedule trigger), Kubernetes CronJobs, GitLab CI, Jenkins Pipelines, and system crontabs — learn it once, use it everywhere.

The Five Fields Explained

  • Minute (0-59): Which minute of the hour the task runs. E.g., 30 means at X:30. The most frequently used field.
  • Hour (0-23): Which hour of the day (24-hour clock). E.g., 9 means 9:00 AM.
  • Day of month (1-31): Which day of the month. E.g., 1 means the 1st. Note: not all months have 31 days.
  • Month (1-12): Which month. E.g., 1 = January. Some implementations also support JAN-DEC abbreviations.
  • Day of week (0-7, both 0 and 7 = Sunday): Which day of the week. E.g., 5 = Friday. SUN-SAT abbreviations also supported.

Special Characters

  • *: Matches all values for the field. * * * * * means every minute.
  • */N: Every N units. */15 * * * * means every 15 minutes (at :00, :15, :30, :45).
  • A-B: Range. 1-5 * * * * means minutes 1 through 5 of every hour.
  • A,B,C: List of values. 0 9,18 * * * means at 9:00 AM and 6:00 PM daily.

How to Use

  1. Parse mode: Type a cron expression (e.g. */5 * * * *) and see the human-readable description plus the next 5 execution times.
  2. Build mode: Use the visual builder — select modes for each field via dropdowns (Every N / Specific / Range). No syntax memorization needed.
  3. Presets: Click a preset to quickly fill common schedules — every 5 min, hourly, daily, weekly, monthly, weekdays, weekends.

Common Cron Expressions

*/5 * * * * Every 5 minutes 0 * * * * Every hour at :00 0 9 * * * Daily at 9:00 AM 0 9 * * 1-5 Weekdays at 9:00 AM 0 0 1 * * First day of the month 0 0 * * 0 Every Sunday at midnight 0 2 * * 0 Every Sunday at 2:00 AM 30 3 15 * * 15th of each month at 3:30 AM

Common Pitfalls

  • Day-of-month AND day-of-week: These two fields have an implicit OR/AND ambiguity. If you specify both (e.g., "15th" and "Friday"), behavior varies by implementation — some treat it as OR (runs on 15th OR Friday), others as AND. Avoid using both fields with specific values; set one to *.
  • No seconds field: Standard Unix cron has 5 fields — it cannot express second-level precision. If you need seconds, use Spring Cron (6 fields, first is seconds) or systemd timers. If your expression has 6 fields, remove the first one.
  • System timezone matters: Server crontabs use the server's local timezone. If your server is in New York, 0 9 * * * runs at 9:00 AM EST. But GitHub Actions schedules use UTC — the same expression would run at 9:00 AM UTC (4:00 AM EST). Always verify the runtime timezone!
  • Daylight Saving Time (DST): In DST-observing regions, cron does NOT auto-adjust. Tasks scheduled at 2:30 AM may be skipped when clocks jump forward (2:00→3:00), and may run twice when clocks fall back (1:30 appears twice). Avoid scheduling critical jobs between 2:00-3:00 AM.