⏱️ Cron Expression Decoder + Builder
Paste any cron expression to get a human-readable description and the next 10 run times, or build one field by field.
Presets:
Supports 5-field (min hour DOM mon DOW) and 6-field (sec min hour DOM mon DOW) expressions, the @ shortcuts, and step / range / list / name forms.
Human description
Next 10 runs
📖 Cron cheat sheet
Field layout
| * | any value |
| */n | step — every n units |
| a-b | range — a to b inclusive |
| a,b,c | list of specific values |
| a-b/n | range with step |
| L | last day (DOM/DOW) — approximate |
| W | nearest weekday — approximate |
| 5#2 | 2nd Friday — approximate |
@ shortcuts
| @hourly | 0 * * * * |
| @daily / @midnight | 0 0 * * * |
| @weekly | 0 0 * * 0 |
| @monthly | 0 0 1 * * |
| @yearly / @annually | 0 0 1 1 * |
| @reboot | run at startup (not schedulable) |
Field order
| 5-field | min hour DOM month DOW |
| 6-field | sec min hour DOM month DOW |
About the Cron Decoder
Paste any cron expression and get a plain-English description plus the next ten times it will fire, computed locally in your browser. Or use the builder to assemble one field by field, with live feedback as you type.
How to use
- Pick a preset chip — or switch to Build and edit each field.
- Read the description to sanity-check what the expression really means.
- Scan the next-runs list to confirm the schedule matches your intent.
- Copy the assembled expression and paste it into your crontab / scheduler.
Common use cases
- Sanity-checking a crontab line before deploying it.
- Translating a teammate's cron into English in a code review.
- Building a new schedule and previewing the next few runs.
- Catching an off-by-one mistake (every other minute vs every 2 minutes).
Tips
- Next-run times use your local timezone. Most servers run cron in UTC.
- When day-of-month and day-of-week are both specified, Vixie cron triggers when either matches.
- Day-of-week accepts
0or7for Sunday — both are normalized to Sunday. - Extended syntax (
L,W,#) parses but the preview is marked approximate — verify against your scheduler's docs.