What This Tool Does

This cron tool parses and validates any standard cron expression (5 fields: minute, hour, day-of-month, month, day-of-week), translates it into human-readable text, and computes the next 5 scheduled run times. Useful for Linux crontab, Jenkins pipelines, GitHub Actions, Kubernetes CronJobs, and any scheduler.

Inputs Explained

How It Works

The expression is split into 5 fields. Each field is parsed for special characters (*, /, -, ,). The tool validates each field against its valid range, generates a plain-English description, and iterates forward from now to find the next 5 matching times by checking each minute.

Formula / Logic Used

minute (0-59) hour (0-23) day-of-month (1-31) month (1-12) day-of-week (0-6) Next = first time after now matching all fields

Cron Expression Builder & Validator

Build cron expressions visually and see the next run times and plain English meaning.

Fields: minute hour day-of-month month day-of-week

Step-by-Step Example

Expression: 0 9 * * 1-5

Meaning: At minute 0, hour 9, every day of month, every month, on Monday through Friday.

Plain English: Runs daily at 9:00 AM on weekdays (Monday to Friday).

Next runs: Monday 9:00 AM, Tuesday 9:00 AM, Wednesday 9:00 AM, etc.

Use Cases

Assumptions and Limitations

Disclaimer: The tool follows standard 5-field Unix cron. Different scheduling systems may have extensions or variations — check your target platform's documentation.

Frequently Asked Questions

What are the 5 cron fields?

Minute (0-59), Hour (0-23), Day of Month (1-31), Month (1-12), Day of Week (0-6 with 0=Sunday). Each field supports *, numbers, ranges (1-5), lists (1,3,5), and step values (*/15).

What does * mean in cron?

Asterisk means 'every possible value' for that field. * * * * * means every minute of every hour of every day — the most frequent possible schedule.

What is */15 in a cron expression?

Step syntax: every 15 units. In the minute field, */15 means at minutes 0, 15, 30, 45 of every hour. You can combine: */10 9-17 * * 1-5 = every 10 minutes during work hours on weekdays.

How do day-of-month and day-of-week interact?

In standard cron, when both are restricted (not *), either matching triggers execution (OR logic). So '0 0 15 * 1' runs on the 15th of every month AND every Monday — not just Mondays that fall on the 15th.

What's the difference between 0 and 7 for day-of-week?

Both mean Sunday in most cron implementations. Monday=1, Tuesday=2, ..., Saturday=6, Sunday=0 or 7. Use 0 to be safe across different systems.

Does cron support seconds?

Standard Unix cron runs with minute precision. Some schedulers (Quartz, Spring, Jenkins) support a 6-field version with seconds. This tool validates standard 5-field cron only.

Why is my GitHub Action cron running at different times?

GitHub uses UTC for cron schedules and may delay runs during peak load. Your 9 AM schedule in IST (UTC+5:30) should be written as 30 3 * * * to match 9 AM IST in UTC.

Can I schedule a job every month on the last day?

Standard cron doesn't have a 'last day' keyword. Some extended cron implementations support L (Quartz) or specific day-of-month like 28-31 with application-level logic to skip invalid dates.

Sources and References

Related Calculators

UUID GeneratorJSON FormatterRegex TesterJWT DecoderHash GeneratorBase64 Encoder