Cron Expression Generator
Build a cron schedule visually and see it translated into plain English.
TL;DR: Cron Expression Generator is a free, browser-based tool that lets you build a cron schedule visually and see it translated into plain English.
About this tool
Translate a cron expression into plain English, or build one from scratch using the presets and see it explained instantly. Cron syntax — five fields for minute, hour, day of month, month, and day of week — is compact and precise, but genuinely hard to read at a glance, especially once ranges, steps, and lists are involved. This tool parses the expression client-side and describes exactly when it will run.
Key Features
- Translates any standard 5-field cron expression into plain English
- Common presets for typical scheduling patterns
- Handles ranges (1-5), lists (1,15), and step values (*/15)
- Clear error message for malformed expressions
- Runs entirely in your browser — nothing is sent anywhere
How to Use
- Type or paste a cron expression, or click a preset.
- See it translated into plain English instantly.
When to use it
- Decoding an unfamiliar cron schedule found in someone else's config or script
- Double-checking a schedule you just wrote actually means what you intended before deploying it
- Building a new schedule from scratch using presets as a starting point
- Explaining a deployment or backup schedule to someone who doesn't read cron syntax fluently
- Quickly verifying a scheduled task will run at the expected time
Tips & limitations
- Cron's day-of-week field uses 0-6 with Sunday as 0 (some systems also accept 7 for Sunday) — double check this against whichever scheduler you're actually deploying to, since it's a common source of off-by-one confusion
- Specifying both a day-of-month and a day-of-week value in the same expression means "either/or" in standard cron, not "both must match" — a detail that trips people up regularly
- A step value like */15 in the minute field means every 15 minutes starting from 0, not necessarily aligned to when you happen to deploy the schedule
- Different schedulers (cron, systemd timers, cloud schedulers) sometimes support minor syntax extensions beyond the standard 5 fields — this tool covers the standard syntax used almost everywhere
Reading a cron expression field by field
| Field | Allowed values | Example |
|---|---|---|
| Minute | 0–59 | 0 |
| Hour | 0–23 | 9 |
| Day of month | 1–31 | * |
| Month | 1–12 | * |
| Day of week | 0–6 (0 = Sunday) | 1-5 |
Put together, 0 9 * * 1-5 reads as: minute 0, hour 9, any day of month, any month, Monday through Friday — in plain English, 9:00 AM on weekdays.
Frequently Asked Questions
- It means "every value" for that field — an asterisk in the minute field means every minute, in the month field means every month, and so on.
- Use a step value like */15 in the minute field for every 15 minutes, or */2 in the hour field for every 2 hours. This tool's "Every 15 minutes" preset shows the exact syntax.
- In standard cron, specifying both fields means the job runs when EITHER condition is true, not when both are — a common source of unexpected schedules. Using * in one of the two fields avoids this ambiguity entirely.
- Standard cron uses 0 for Sunday (with 1-6 for Monday through Saturday), though some implementations also accept 7 as an alias for Sunday. Check your specific scheduler's documentation if the distinction matters for your setup.
Cite This Tool
Referencing this tool in a paper, article, or bibliography? Copy a ready-made citation below.
Embed This Tool
Add the live Cron Expression Generator tool to your own website with this snippet — it loads the real, working tool in an iframe, not a static screenshot.
<iframe src="https://nexlove.org/embed/cron-expression-generator.html" width="100%" height="600" style="border:1px solid #e2e8f0;border-radius:12px" title="Cron Expression Generator — NexLove.org" loading="lazy"></iframe>