Date & Time
Cron Expression Explainer
Explain five-field cron expressions or export GitHub Actions and Kubernetes schedule fragments with a named timezone.
This tool runs open-source code from OmniTools (MIT License). See open-source credits.
Cron Expression Explainer: A cron expression describes a recurring schedule using minute, hour, day of month, month, and day of week fields. Explain expressions in plain language, or create a schedule fragment for GitHub Actions or Kubernetes with a named timezone.
Description mode returns one explanation per line. Export mode returns a YAML schedule fragment with explicit timezone settings.
- Explain an unfamiliar five-field cron expression before changing a scheduled job.
- Create GitHub Actions schedule entries with an explicit timezone instead of manually converting to UTC.
- Set a Kubernetes CronJob schedule and spec.timeZone together.
Sources: GitHub Actions: schedule syntax and timezones; Kubernetes CronJob: time zones
Instructions
- Enter one five-field expression per line, without a command. For example, 30 9 * * 1-5 means 09:30 on weekdays.
- Keep Plain-language descriptions to explain the input. Choose a schedule YAML format to export platform settings.
- For export, enter a named IANA timezone such as America/New_York. Kubernetes accepts one expression per export.
- Review the output, then copy the fragment into the matching on or spec block in your existing configuration.
Example
Input: 30 9 * * 1-5
Settings: Output format Plain-language descriptions
Result: At 09:30 AM, Monday through Friday
Day-of-week values run from 0 for Sunday. The range 1-5 therefore means Monday through Friday.
Limits
- The tool creates configuration text. It does not register, run, or monitor a job.
- Export accepts numeric fields, *, ranges, lists, and steps. Use 0 through 6 for Sunday through Saturday.
- Export rejects names, seconds, commands, timezone prefixes, and Quartz-specific ?, L, W, or # syntax.
- GitHub export requires five-minute spacing across a repeated day, including midnight. This conservative rule can reject schedules on separated dates.
- A fragment is not a complete workflow or CronJob. Merge its settings into an existing configuration with jobs or jobTemplate.
- Kubernetes timeZone is stable from version 1.27. Put the timezone in spec.timeZone, not inside the cron expression.
- Descriptions do not predict execution dates or daylight-saving transitions. Check the target scheduler's timezone rules and current documentation.
- Syntax checks do not prove that a calendar date exists or that the scheduler will run a job on time.