Cron Expression Builder & Explainer
Type a 5-field cron expression (minute, hour, day of month, month, day of week) to get a plain-English description and the next 5 run times, shown in your local time or in UTC. It supports *, lists, ranges, steps, month and weekday names and common @macros. Quartz-style 6 or 7 field expressions are not supported.
Runs in your browser
Free, no sign-up. Parsing and date maths run in your browser. Nothing is uploaded or sent to analytics.
Syntax: * any, 1,15 list, 1-5 range, */10 step, 1-30/5 range with step, names MON-FRI and JAN-DEC, and @daily style shortcuts. Standard 5-field cron only.
At 09:30, on Monday, Tuesday, Wednesday, Thursday and Friday
Next 5 runs
Calculating...
Your device's clock and time zone are used. Servers, Vercel Cron and GitHub Actions schedules run in UTC, so use the UTC toggle to preview them.
Need a custom internal tool or integration?
We build internal tools, APIs and integrations that fit your team's workflow, from a single admin screen to a full backend.
How to use the Cron Expression Builder
- Enter an expression or pick a preset, for example 30 9 * * MON-FRI.
- Read the plain-English description and fix any error shown.
- Switch the time zone toggle between your local time and UTC to see the next 5 runs.
- Adjust fields until the schedule is what you want.
- Copy the expression or the summary.
Worked example
Sample data
30 9 * * MON-FRI
At 09:30, on Monday, Tuesday, Wednesday, Thursday and Friday
Other examples: */15 * * * * is described as Every 15 minutes; 0 0 13 * FRI as At 00:00, on day 13 of the month or on Friday. The run times depend on your time zone and the current time.
How it works
The five fields
Fields are separated by spaces: minute (0-59), hour (0-23), day of month (1-31), month (1-12 or JAN-DEC) and day of week (0-6 or SUN-SAT, with 7 also accepted as Sunday). Each field accepts *, lists (1,15), ranges (MON-FRI) and steps (*/5, 10-30/10).
minute hour day-of-month month day-of-week
Day of month and day of week
Following classic Vixie cron, when both the day-of-month and day-of-week fields are restricted, a time matches if either one matches. So 0 0 13 * FRI runs on the 13th and on every Friday, not only on Friday the 13th.
Quartz and other dialects
Quartz and Spring use 6 or 7 fields (a leading seconds field, optional year) and extras such as ?, L, W and #. This builder accepts only the standard 5 fields and shows an error for anything else.
Cron runs in the scheduler's time zone. Vercel Cron Jobs and GitHub Actions schedules use UTC, so switch the toggle to UTC to see what those platforms will do. Check your platform's docs for minimum intervals and other limits.
How next runs are found
The tool steps forward minute by minute through matching dates, searching up to 5 years ahead. In local time it skips times that do not exist during a daylight-saving gap. A schedule with no matching date, such as 0 0 31 2 *, reports that nothing was found.
Inputs, outputs and limits
Inputs
- 5-field cron expression or an @macro
- Local or UTC display
Outputs
- Plain-English description
- Next 5 run times
- Field-level error messages
- Copy
Limits
- 5 fields only; Quartz 6/7 fields and ? L W # are not supported.
- Next runs are searched up to 5 years ahead.
- Runs are computed from your device clock and time zone.
- Does not schedule or run anything; it only explains and previews.
Processing
- Parsing and date maths run in your browser. Nothing is uploaded or sent to analytics.
Frequently asked questions
Why does my expression with a day of month and weekday run more often than expected?
In standard cron, if both fields are restricted either match triggers a run. To get only Friday the 13th you need a check inside the job.
Does it support seconds or Quartz syntax?
No. Quartz uses 6 or 7 fields with a seconds field and special characters. Convert to 5 fields or use a Quartz-specific tool.
What time zone do Vercel and GitHub Actions use?
UTC for both. Use the UTC toggle to preview those schedules.
Is 7 a valid weekday?
Yes. Both 0 and 7 mean Sunday.
Are the next run times guaranteed?
No. They are computed from the expression and your clock. Real schedulers can delay or skip runs under load or downtime.
Need a custom internal tool or integration?
We build internal tools, APIs and integrations that fit your team's workflow, from a single admin screen to a full backend.