Cron expressions. Finally in plain English.

Free, no sign-up: build a schedule or read one back — the next five runs on your own clock.

Cron expression generator

Presets

Every 5 minutes

Next 5 runs

next run in 23h 59m

Shown in your timezone: your local time

Runs in your browser — expressions never leave your device.

Reading an expression someone else wrote? Open it in the parser to see each field.

Three steps, no learning curve.

1

Pick or build

Start from a preset, or set minute, hour, day of month, month and day of week field by field. The expression rewrites itself as you go.

2

Read it back

Every expression comes back as a plain-English sentence, with the next five run times on your own clock and in your own timezone.

3

Copy or share

Copy the expression, or copy a link that carries only the expression — no account, no tracking, nothing else attached.

Cron expression syntax, field by field.

Five fields in this order, separated by spaces: minute, hour, day of the month, month, day of the week. The generator above writes them for you; this table is for reading a crontab you found.

Field Allowed values Special characters
Minute 0–59 * , - /
Hour 0–23 * , - /
Day of month 1–31 * , - /
Month 1–12 or JAN–DEC * , - /
Day of week 0–7 or SUN–SAT (0 and 7 = Sunday) * , - /

All five fields take the same four special characters: * for any value, , for a list, - for a range and / for a step. One more shows up in the wild but is not universal: L, the last day of the month. It works in Quartz and in some cron daemons, while the plain Vixie crontab that ships with most Linux systems rejects it — there is a portable way to write it.

Common cron expressions

Pick one to load it into the generator, or read it on its own page. There is also a full list of schedules.

What is coming next

The generator is the first of a set of tools built on one cron engine.

  • Cron parser

    expression → fields, with per-field errors and lint hints

    Live

  • Human-readable schedule pages

    one indexable page per common cron expression, read field by field

    Live

  • Validator & linter

    deeper checks: scheduler quirks, Quartz tokens, suspended jobs

    Planned

  • Common cron mistakes

    the eight expressions that do not mean what they say

    Live

  • Quartz & 6-field converter

    seconds, ? and the day-of-week numbering, converted to a crontab line

    Live

Cron questions, answered.

What is a cron expression?

A cron expression is a five-field shorthand that tells a scheduler when to run a job. Each field is a rule for one unit of time: minute, hour, day of the month, month, day of the week. For example, "30 3 * * *" runs a job every day at 3:30 AM.

In what order do the five fields go?

Minute, hour, day of the month, month, day of the week, separated by spaces. So "0 9 * * 1-5" reads as minute 0, hour 9, any day of the month, any month, Monday through Friday: weekdays at 9 AM.

How do I write "every 5 minutes" in cron?

Put a step value in the minute field: "*/5 * * * *". The asterisk means "any value," and "*/5" means "every fifth value," so the job runs at minutes 0, 5, 10, 15, and on. The generator above builds the same expression from a preset.

Which timezone do the next run times use?

The times below the generator come from your browser timezone, because that is the clock you are reading the page on. A cron daemon runs in the timezone of the machine it is installed on, which is usually UTC on servers. Check the server clock before you copy an expression into a crontab, or set the timezone in the crontab itself.

What does the asterisk (*) mean?

The asterisk matches every allowed value of its field. On its own it means "any": "* * * * *" runs the job every minute, all day, every day. Next to other characters it changes meaning: "*/15" is every 15 units, and "1-5" is a range.