Cron Expression Builder & Explainer
Build a five-field cron expression with visual fields or presets, get a plain-English explanation, preview the next five run times in a chosen time zone, and validate expressions you already have.
Free to use · Runs in your browser · No account required
Processed locally in your browser
Nothing you enter here is uploaded, transmitted to a server, or stored by this tool. Cron expressions are not sensitive, but avoid pasting internal hostnames or paths in comments you share elsewhere.
Runs entirely in your browser — nothing is sent to a server
Paste any five-field expression here — it stays in sync with the fields below.
Presets
Next 5 runs
- Aug 12, 2026, 9:00 AM
- Aug 13, 2026, 9:00 AM
- Aug 14, 2026, 9:00 AM
- Aug 17, 2026, 9:00 AM
- Aug 18, 2026, 9:00 AM
Traditional cron runs on the server's configured system timezone, not a value embedded in the expression — the selector above only affects this preview.
Some platforms (GitHub Actions, Kubernetes CronJob, managed schedulers) support extra fields or a separate timezone setting. This tool targets the standard five-field POSIX format.
How to use this tool
- 1Pick a preset, or type directly into the five fields — each stays in sync with the raw expression above.
- 2Read the plain-English explanation to confirm the schedule matches what you intended.
- 3Set the preview timezone (Asia/Kathmandu is preselected) and check the next 5 run times.
- 4Copy the expression once it looks right, and paste it into your crontab, GitHub Actions workflow, or scheduler config.
The five-field cron format
A standard cron expression has five space-separated fields, in order: minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–6, Sunday=0). Each field accepts * (any value), a single value, a comma-separated list, a start-end range, or a */step interval.
Cron behavior can differ between systems. Traditional cron (Linux/Unix, most container base images) evaluates fields against the server's configured system timezone, not a value embedded in the expression. Some platforms — GitHub Actions, most managed schedulers, some Kubernetes CronJob setups — support a separate timezone field or extensions like @daily. Always check the target platform's documentation before assuming portability.
Frequently asked questions
Does the timezone selector change how the cron job actually runs?
No — it only changes how this tool previews the next run times for you. Traditional cron daemons use the server's configured system timezone, not a value stored in the expression itself. Some platforms (GitHub Actions, most managed schedulers) do accept a separate timezone setting alongside the expression — check your platform's docs.
Can day-of-month and day-of-week both be restricted at once?
Standard cron treats day-of-month and day-of-week as an OR when both are restricted (not `*`), which produces schedules many people don't expect. This tool flags that case instead of silently generating it.
Do all platforms support the same five fields?
No. Some schedulers add a seconds or year field, or support extensions like `@daily`. This tool targets the traditional five-field POSIX format.
Related writing
Planned — not yet published
- PlannedCron syntax explained: minute, hour, day-of-month, month, day-of-week— Field ranges, lists, steps, and the day-of-month/day-of-week OR quirk.
- PlannedWhy your cron job ran at the wrong time after deployment— Server timezone drift, DST, and container base-image defaults.
- PlannedCron vs GitHub Actions schedule vs Kubernetes CronJob syntax— Where five-field cron stops being portable across platforms.
Related tools
- Date & time
Unix Timestamp Converter
Convert between Unix time, ISO 8601, and readable dates across time zones.
- Configuration
Environment File Validator
Check .env content for duplicate keys, malformed lines, and missing values.
- Data formatting
JSON Formatter & Validator
Format, minify, and validate JSON with clear syntax-error locations.