GitHub Actions Cron Schedule — on: schedule Generator
Generate cron expressions for GitHub Actions on:schedule workflow triggers. Build schedules for nightly CI runs, weekly dependency checks, and automated tasks in UTC.
Cron Scheduling in GitHub Actions
GitHub Actions supports scheduled workflow triggers using cron syntax in the on: schedule: - cron: field. Schedules run on GitHub's infrastructure in UTC — always account for the UTC offset when setting times. The minimum interval is every 5 minutes, and GitHub may delay runs during high server load.
- Always UTC: GitHub Actions cron runs in UTC — convert your local time before setting a schedule
- 5-field syntax: Standard
minute hour day-of-month month day-of-week - Minimum interval: Every 5 minutes (
*/5 * * * *) — runs more frequent than this are not guaranteed - Delay risk: During high load periods, GitHub may delay scheduled runs by several minutes to hours
- Multiple schedules: Add multiple
- cron:entries underschedule:to trigger at different times
Choose the Right Variant
- This page: GitHub Actions on:schedule cron expressions
- Cron Expression Generator: Build and validate any cron schedule
- Kubernetes CronJob: spec.schedule expressions for K8s
- Cron Job Examples: Common cron expressions reference
GitHub Actions Workflow YAML Example
- Basic structure:
on:→schedule:→- cron: '0 2 * * *' - Nightly CI build (2 AM UTC):
cron: '0 2 * * *' - Weekly dependency audit (Monday 9 AM UTC):
cron: '0 9 * * 1' - Every 6 hours:
cron: '0 */6 * * *' - Multiple schedules: Add a second
- cron: '...'line underschedule: - Combined with push trigger: List both
schedule:andpush:underon:
Privacy and Data Handling
All cron expression generation runs locally in your browser. No data is sent to any server.
Frequently Asked Questions
What timezone does GitHub Actions cron use?
GitHub Actions cron always runs in UTC — there is no timezone configuration option for scheduled triggers. If you need a workflow to run at a specific local time, convert it to UTC first. For example, 9 AM Eastern Standard Time (EST) = 2 PM UTC = 0 14 * * *. Note that EST is UTC-5 in winter but UTC-4 (EDT) in summer — if your schedule must track local business hours, you'll need to update the cron expression twice yearly when clocks change, or accept the 1-hour drift.
Why isn't my scheduled GitHub Actions workflow running?
Common reasons: (1) Workflow is on a non-default branch — GitHub only runs scheduled workflows from the repository's default branch (usually main). (2) Repository is inactive — GitHub automatically disables scheduled workflows in repositories with no commits in 60 days. (3) GitHub delays — during high server load, runs can be delayed by minutes to hours. (4) Syntax error in cron expression — use this generator to validate. (5) Workflow is disabled — check the Actions tab in your repository settings.
What's the minimum cron interval in GitHub Actions?
GitHub's documentation states that scheduled workflows cannot run more frequently than once per 5 minutes. In practice, */5 * * * * (every 5 minutes) is the supported minimum. Running more frequently is technically possible to write but GitHub may skip executions to prevent abuse. For workloads requiring more frequent triggering, consider: pushing a commit to trigger the workflow, using a self-hosted runner with your own scheduler, or a different event type (like repository_dispatch triggered by an external service on your schedule).