Cron Expression Parser

Describe cron schedules in plain English with next run times.

*/5
Minute
*
Hour
*
Day of Month
*
Month
*
Day of Week
Plain English
Every 5 minutes
Next 5 runs
3/21/2026, 5:10:00 AM
3/21/2026, 5:15:00 AM
3/21/2026, 5:20:00 AM
3/21/2026, 5:25:00 AM
3/21/2026, 5:30:00 AM

Cron Expression Parser — What It Does

Paste any five-field cron expression and get an instant human-readable description of the schedule in plain English, along with the next 5–10 upcoming execution times. Ideal for verifying schedules before deploying them to production crontabs, CI/CD pipelines, or cloud schedulers.

Cron Syntax Quick Reference

Standard cron uses five space-separated fields:

  • Minute — 0–59
  • Hour — 0–23
  • Day of month — 1–31
  • Month — 1–12 (or JAN–DEC)
  • Day of week — 0–7 (0 and 7 = Sunday, or SUN–SAT)

Special characters: * (every), / (step), - (range), , (list).

Common Cron Examples

  • 0 0 * * * — Every day at midnight
  • */15 * * * * — Every 15 minutes
  • 0 9 * * 1-5 — Weekdays at 9:00 AM
  • 0 0 1 * * — First day of every month at midnight
  • 30 4 * * 0 — Every Sunday at 4:30 AM

Common Mistakes

  • Confusing day-of-week numbering — Some systems use 0=Sunday (Unix), others use 1=Monday (ISO 8601). Verify with your platform.
  • Forgetting timezone — Cron runs in the system's local timezone by default. Cloud schedulers like AWS EventBridge use UTC unless configured otherwise.
  • Month/weekday off-by-one — Month is 1-based (January = 1), but day-of-week can be 0-based or 1-based depending on the cron implementation.

Frequently Asked Questions

What are the five fields in a cron expression?
A standard cron expression has five fields separated by spaces: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7, where both 0 and 7 are Sunday). Some systems add a sixth field for seconds or year.
What does */5 mean in a cron expression?
The slash (/) is the step operator. */5 in the minute field means "every 5 minutes" — it matches 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55.
How do I schedule a cron job to run at midnight every day?
Use 0 0 * * * — this means minute 0, hour 0 (midnight), every day of the month, every month, every day of the week.
What is the difference between * and ? in cron?
In standard Unix cron, only * is used (meaning "every"). The ? character appears in Quartz/Spring cron (6-field) and means "no specific value" — used in day-of-month or day-of-week when the other field is already specified.
Can I specify both day-of-month and day-of-week?
In standard Unix cron, if both fields have non-wildcard values, the job runs when either condition matches (OR logic). In Quartz cron, you must use ? in one of the two fields — specifying both is invalid.