Visual builder · plain-English · next-run preview

Cron Expression Generator
Build & Decode Crontab Schedules

Construct a cron expression with simple dropdowns, see exactly what it means in plain English, and preview the next five times it will fire. Or paste an existing crontab line to decode it instantly.

Your Cron Expression

At every minute.
* * * * *

Common Presets

Every minute Every 5 min Every 15 min Hourly Daily midnight 9am weekdays Weekly (Sun) Monthly Yearly

Builder

The builder covers the most common patterns. For advanced syntax (lists, ranges, multiple steps) edit the expression field directly — the explainer and preview update live.

Next 5 Run Times (in your local timezone)

How the cron expression generator works

Cron is the time-based job scheduler that has run scheduled tasks on Unix and Linux systems since the 1970s. A cron expression is a compact string of five fields that tells the cron daemon precisely when to execute a command. The fields, in order, are minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, where 0 is Sunday). This cron generator lets you assemble that string visually and confirms its meaning before you ever touch a crontab.

The five fields and their special characters

Each field accepts more than a single number. An asterisk (*) means "every" possible value. A list like 1,15,30 matches several specific values. A range like 1-5 matches a contiguous span (Monday to Friday in the weekday field). A step like */10 means "every tenth value", so */10 in the minute field fires at minute 0, 10, 20, 30, 40 and 50. You can even combine them: 0-30/5 means every five minutes during the first half of each hour. The explainer on this page translates whichever combination you use into a sentence in plain English.

Reading a schedule in plain English

The hardest part of cron is trusting that a string does what you think. 0 9 * * 1-5 looks innocent, but is it 9 AM or 9 PM? Is 1-5 Monday–Friday or Tuesday–Saturday? Our explainer removes the doubt by spelling it out — "At 09:00 AM, Monday through Friday" — and the next-run preview lists the actual upcoming fire times computed in your local timezone, so you can sanity-check the schedule against real dates before deploying it.

Common cron recipes

Five-field vs. six-field cron

This tool generates the standard five-field Vixie/Unix cron format used by Linux crontab, most managed schedulers, and Kubernetes CronJobs. Some systems — notably the Quartz scheduler in the Java ecosystem and certain libraries like node-cron — use a six-field variant that adds a leading seconds field. If your platform needs seconds precision, generate the five-field expression here and prepend a seconds value (for example 30 for "at the 30-second mark"). Always check your scheduler's documentation, because day-of-week numbering and the handling of the special string ? differ between implementations.

A note on overlapping day fields

One classic gotcha: when you restrict both the day-of-month and the day-of-week fields, standard cron runs the job whenever either condition matches, not both. So 0 0 13 * 5 fires on the 13th of the month and on every Friday, not only on Friday the 13th. The plain-English explainer here reflects standard cron behaviour so you are not caught out. When you are done, copy the expression and explore the epoch converter and timezone converter to round out your scheduling toolkit.

Cron FAQ

What is a cron expression? +
A cron expression is five fields — minute, hour, day-of-month, month, and day-of-week — that tell the cron daemon when to run a task. For example, '0 9 * * 1-5' means 9:00 AM every weekday.
How do I run a job every 5 minutes? +
Use '*/5 * * * *'. The */5 in the minute field means every 5th minute; the asterisks mean every hour, day, month and weekday. Click the "Every 5 min" preset above to generate it.
What numbers does day-of-week use? +
0 to 6, where 0 (and 7 on most systems) is Sunday, 1 is Monday, through 6 which is Saturday. When both day-of-month and day-of-week are set, cron runs when EITHER matches.
Does this support seconds (6-field cron)? +
This generator uses the standard 5-field Unix format used by Linux crontab and Kubernetes. For Quartz-style 6-field cron, prepend a seconds field to the generated expression.