Cron Expression Decoder
Paste any cron expression; get a plain-English description plus the next 10 fire times in your local timezone. Handles standard 5-field syntax, @hourly/@daily/@weekly/@monthly/@yearly aliases, ranges, lists, step values. Pair with the cron builder when you need to construct one.
How to use the Cron Expression Decoder
Paste a cron expression. The decoder validates field bounds, produces an English description, and computes the next 10 fire times. Use this when reviewing a cron line in a Kubernetes manifest, GitHub Actions schedule, or crontab and you need a quick sanity check on when it'll fire.
Decoding a cron line you did not write
Reading an unfamiliar cron line under pressure — during an incident, or in a code review — is where mistakes happen. This decoder validates each field against its legal range, renders a plain-English description, and computes the next ten fire times in your local timezone so you can see concretely when the job runs.
It understands the standard five fields plus the convenience aliases @hourly, @daily, @weekly, @monthly, and @yearly, along with ranges, lists, and steps. The fire-time list is the part a pure translator cannot give you, and it is usually what you actually need.
Common use cases
- Incident response — confirm when a suspicious scheduled job last fired and when it fires next.
- Code review — verify a line in a Kubernetes CronJob or CI config does what the comment claims.
- Timezone sanity checks — read the schedule in your local time, not the server's UTC.
- Debugging missed runs — spot an off-by-one in the hour or day field by reading the upcoming fires.
- Documentation — paste the English description into a runbook so the schedule is legible.
Frequently asked questions
Why do the fire times differ from what my server actually does?
CRON_TZ= prefix) when the times do not line up.Does it handle daylight saving transitions?
Can it decode 6-field or Quartz expressions?
@ aliases. Six-field cron with seconds, or Quartz tokens like L and #, may not parse correctly here.