AllOneTools Logo
AllOneTools

Cron Expression Builder & Generator — Build, Translate & Validate

About this tool

This free cron expression builder and generator lets you craft, translate, and validate 5-field cron schedules entirely in your browser. Type any expression and instantly get a plain-English translation — for example, */5 * * * * becomes "every 5 minutes" — plus the next five scheduled run times calculated in your local time zone.

Use the presets to generate common patterns instantly, or build a custom expression for Linux crontab, GitHub Actions, GitLab CI, AWS EventBridge, Cloudflare Workers, or Spring Boot @Scheduled. The cron expression validator highlights syntax errors in real time so you can fix issues before deploying. Nothing is sent to a server — all parsing runs in JavaScript in your browser.

What Is a Cron Expression?

A cron expression is a string of five fields separated by spaces that defines a recurring schedule for automated tasks. Each field represents a unit of time:

┌─────────── minute (0–59)
│ ┌───────── hour (0–23)
│ │ ┌─────── day of month (1–31)
│ │ │ ┌───── month (1–12)
│ │ │ │ ┌─── day of week (0–6, Sunday=0)
│ │ │ │ │
* * * * *

Special characters extend the syntax: * means "every", / means "every N" (step values), - defines ranges, and , lists specific values. This tool models the common five-field Vixie/POSIX style (minute first). Some platforms add a seconds field, use ? in Quartz, or accept macros like @hourly—check your scheduler’s documentation before you deploy.

Key Features

  • Human-readable explanation of any cron expression
  • Live preview of the next five scheduled runs
  • One-click presets for the most common schedules
  • Supports ranges (1-5), lists (1,15,30), steps (*/5) and ranged steps
  • Runs entirely in the browser — no backend, no data sent
  • Clear error messages for invalid expressions

Use Cases

  • Schedule backups, cleanup jobs, or cache warmers on Linux servers
  • Configure GitHub Actions, GitLab CI, or Jenkins schedules
  • Set up Kubernetes CronJob, AWS EventBridge, or Cloudflare Cron Triggers
  • Teach cron syntax to junior developers with a visual feedback loop
  • Double-check production crontab entries before deploying

Pro Tips

  • Cron uses UTC on most Linux servers — verify your container time zone.
  • Avoid "* * * * *" on production: tiny jobs can thrash busy servers.
  • Prefer specific minutes (for example, 0 or 30) to avoid thundering-herd spikes.
  • Use ranged steps like 0-30/5 to run a job only in the first half of each hour.
  • Day-of-month and day-of-week are OR'd together in classic cron — be deliberate.

Frequently Asked Questions

Which cron dialect does this tool use?

Standard 5-field Vixie/POSIX cron: minute, hour, day-of-month, month, day-of-week. Day-of-week is 0 (Sunday) to 6 (Saturday). Macros like @hourly or 6-field Quartz expressions are not supported yet.

What time zone are the “next runs” calculated in?

Your browser's local time zone. If your cron runs on a UTC server, remember to translate — our Timestamp Converter tool can help.

Does 0 or 7 mean Sunday in day-of-week?

Historically, both have worked on many systems. We treat 0 as Sunday and 7 is not supported — use 0 for consistency across Linux and modern schedulers.

Is my expression sent to a server?

No. Parsing and schedule calculation run entirely in JavaScript in your browser.