Cron Expression Generator & Explainer

Build a cron schedule visually or paste one to decode it — plain-English explanation and the next 10 run times, live.

Build field by field

Next 10 run times

    Cron syntax, explained simply

    A crontab line has five fields: minute hour day-of-month month day-of-week. Each accepts * (every), a number (30), a range (9-17), a list (1,15), or a step (*/10 = every 10th). Combine them freely: */15 9-17 * * 1-5 means "every 15 minutes, between 09:00 and 17:59, Monday to Friday" — exactly what the explainer above will tell you in plain English, alongside the next 10 concrete run times computed in your browser's timezone.

    One classic trap: when both day-of-month and day-of-week are restricted, standard cron fires when either matches (OR, not AND) — 0 0 13 * 5 runs on every 13th and every Friday. This tool implements and flags that rule. Also note dialects: Linux cron, GitHub Actions, Kubernetes CronJobs and most serverless schedulers use this 5-field format, while Quartz (Java) adds a seconds field and symbols like ?, L and W.

    Scheduling timestamps for videos or logs instead? Try the Date Difference Calculator or Timer & Stopwatch.

    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–7; 0 and 7 = Sunday). Each takes numbers, ranges, lists, steps or *.
    What does */5 mean?
    Every 5 units from the minimum — in the minute field: 0, 5, 10 … 55. Ranges can be stepped too: 10-30/5 = 10, 15, 20, 25, 30.
    How do day-of-month and day-of-week combine?
    If BOTH are restricted, standard cron matches when EITHER does (OR logic). "0 0 13 * 5" = the 13th of each month AND every Friday. The tool warns you when this applies.
    Is Quartz cron supported?
    This builder targets standard 5-field crontab (Linux, GitHub Actions, K8s). Quartz adds seconds and ?/L/W symbols — replace ? with * when converting to 5-field syntax.
    Which timezone are the preview times in?
    Your browser's local timezone (shown next to the list). Real jobs run in the scheduler's timezone — GitHub Actions is UTC, Linux cron uses the system clock.