Xgenious
developer

Free Cron Expression Builder — Visual Cron Schedule Generator

A cron expression is a string of five fields that defines a recurring schedule: minute, hour, day of month, month, and day of week. This builder lets you set each field visually and generates the correct cron string with a plain-English explanation of when the job will run.

Free — No SignupRuns in BrowserData Never UploadedPopular tool

developer

Build cron schedules visually and get the expression + plain-English explanation.

  • Build cron expressions field by field with visual inputs
  • One-click presets for common schedules (hourly, daily, weekdays, monthly)
  • Plain-English explanation of any cron string — confirms the schedule at a glance
  • Preview of the next five run times in your local timezone
  • Supports all special characters: *, /, ranges (-), and lists (,)
  • Compatible with Linux crontab, GitHub Actions, Vercel Cron, and Kubernetes CronJobs
  • Client-side only — nothing is uploaded or stored
Features

Everything you need in one Cron Expression Builder

Visual cron schedule builder

Set each of the five cron fields independently and watch the expression assemble itself — no need to memorize the syntax of *, /, -, and ,.

Plain-English cron explainer

Every expression is translated into a readable sentence such as "At 09:00, Monday through Friday" so you can confirm the schedule at a glance.

Next run preview

The tool computes and lists the next five times the job will run in your local timezone — the fastest way to catch a schedule that is off by an hour or a day.

Works with every scheduler

The standard 5-field output is compatible with Linux crontab, GitHub Actions, Vercel Cron, Kubernetes CronJobs, and most modern job runners.

How It Works

How to use Cron Expression Builder

01

Set each field

Choose values for minute, hour, day, month, and weekday using dropdowns or custom input.

02

See the expression

The cron string updates in real time. Copy it for use in Vercel, GitHub Actions, Linux crontab, or any scheduler.

03

Read the explanation

The plain-English summary tells you exactly when the job will run — e.g. "Every day at 02:00 UTC".

Format Comparison

Cron special characters — syntax reference

CharacterMeaningExample
*Every value in the field* * * * * — every minute
*/nEvery nth value (step)*/15 * * * * — every 15 minutes
a-bA range of values0 9-17 * * * — hourly from 9am to 5pm
a,b,cA list of specific values0 0 1,15 * * — the 1st and 15th of each month
a-b/nStepped range0 0-23/2 * * * — every 2 hours
Troubleshooting

How to fix common syntax errors

Most “invalid JSON” failures come from a small set of mistakes. Paste the failing JSON above, click Validate, and the tool points you at the exact line and column.

Both day-of-month and day-of-week set0 9 1 * 1

When neither field is *, cron fires when either matches (OR logic). Use only one of the two fields and set the other to * to get the schedule you intend.

Using 6-field format on a 5-field scheduler0 */15 * * * *

Linux crontab, GitHub Actions, and Vercel expect exactly 5 fields. The leading seconds field used by Quartz/Spring will be treated as the minute field, shifting every value one position.

Timezone confusion0 9 * * * (expects 9am local)

Cron runs in the server's system timezone, not your local timezone. Convert your desired time to UTC (or the server TZ) before setting the hour field.

*/1 instead of **/1 * * * *

*/1 is syntactically valid but redundant — it means every 1 value, which is the same as *. Use * directly for clarity.

Day-of-week numbering mismatch0 9 * * 7 (expects Sunday)

Most schedulers accept both 0 and 7 for Sunday, but some (Quartz, Kubernetes) use 1-based numbering where 1=Sunday and 7=Saturday. Check your scheduler's documentation.

Month as 0-indexed0 0 1 0 * (expects January)

Standard cron uses 1–12 for months (1=January). Some non-standard implementations use 0–11. If your job never runs in January, change month field 0 to 1.

FAQ

Frequently asked questions

A cron expression is a space-separated string of five fields that defines a recurring schedule: 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 represent Sunday). Special characters enable flexible patterns: `*` matches any value, `/` defines steps (every Nth), `,` separates multiple values, and `-` specifies ranges.

References

Further reading

Authority documentation and specifications behind this tool.

Have a project in mind?

We turn ideas into production-ready software — SaaS, web apps, mobile, and AI agents. Fixed price. Committed timeline. No surprises.

Let's talk