ToolsCourt
Cron ToolsGitHub Actions Cron
🐙 GitHub Actions

GitHub Actions Cron Scheduler

Generate GitHub Actions schedule cron expressions and complete workflow YAML. GitHub Actions uses standard 5-field cron syntax but always runs in UTC — there is no timezone override. Scheduled workflows may also run up to 15–30 minutes late on GitHub's shared runners.

⚠️ GitHub Actions cron is always UTC. If you want a workflow at 9am IST (UTC+5:30), set the cron to 30 3 * * *. Also note: scheduled workflows on public repos with no recent commits may be automatically disabled after 60 days of inactivity.
⚡ Schedule Presets
🔧 Cron Expression Builder
Minute
0-59
Hour
0-23
Day/Month
1-31
Month
1-12
Day/Week
0=Sun
0 9 * * 1-5
Runs at minute 0 at 9:00 AM, on Monday to Friday (UTC)
Workflow name
runs-on
📋 Generated Workflow YAML
Basic scheduled workflow
name: scheduled-job

on:
  schedule:
    - cron: '0 9 * * 1-5'
  workflow_dispatch:  # Allow manual trigger

jobs:
  run:
    runs-on: ubuntu-latest
    timeout-minutes: 10

    steps:
      - name: Checkout code
        uses: actions/checkout@v4

      - name: Run scheduled task
        run: |
          echo "Running at $(date -u)"
          # Add your commands here
Multiple schedules
name: Multi-Schedule Workflow

on:
  schedule:
    - cron: '0 9 * * 1-5'       # Primary schedule
    - cron: '0 0 * * 0'    # Also every Sunday midnight
  workflow_dispatch:

jobs:
  scheduled-task:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: echo "Running scheduled task"
⚠️ GitHub Actions Cron — Key Gotchas
🕐
Always UTC, no timezone override
GitHub Actions has no CRON_TZ setting. Convert your desired local time to UTC manually. Use our UTC timezone converter for help.
⏱️
Up to 15–30 min delay at peak times
GitHub's shared runners are busy at common times (top of the hour, midnight UTC). Your 0 * * * * job may run at :05 or :12. Don't rely on second-level precision.
😴
Disabled after 60 days on inactive repos
GitHub automatically disables scheduled workflows if the repository has no other activity for 60 days. Add workflow_dispatch: to all scheduled workflows so you can re-trigger manually.
🔒
Not available on private repos in free tier
Scheduled workflows on private repos require a GitHub Team or Enterprise plan, or using GitHub's limited free tier minutes.
🔁
Minimum interval is every 5 minutes
GitHub enforces a minimum of */5 * * * * (every 5 minutes). Expressions that would fire more frequently are throttled.
❓ GitHub Actions Schedule FAQ
How do I schedule a GitHub Actions workflow?

Add a schedule: trigger to your workflow YAML with a cron: expression. Place the YAML file in .github/workflows/your-workflow.yml. The workflow runs automatically at the specified UTC times.

Why is my GitHub Actions scheduled workflow not running?

Most common reasons: (1) The repo has had no activity for 60 days — GitHub disabled it automatically. (2) The YAML is not in the default branch. (3) The cron syntax is wrong — use this tool to validate. (4) The workflow was manually disabled in the Actions tab.

Can I run GitHub Actions every minute?

No. GitHub enforces a minimum interval of 5 minutes (*/5 * * * *). More frequent expressions are throttled or may not fire at all.

How do I trigger a scheduled workflow manually?

Add workflow_dispatch: to your on: block alongside schedule:. This adds a "Run workflow" button in the GitHub Actions UI and lets you trigger it via the API or CLI.

What timezone does GitHub Actions use for cron?

Always UTC. There is no way to set a timezone for GitHub Actions scheduled workflows. Convert your target time to UTC before writing the cron expression.

Other Platform Cron Generators

← Back to Cron Job Generator
Complete cron expression builder for all platforms
View Pillar →
🕐 Next 8 Run Times (UTC)
1Mon, May 18, 09:00 AM UTCNEXT
2Tue, May 19, 09:00 AM UTC
3Wed, May 20, 09:00 AM UTC
4Thu, May 21, 09:00 AM UTC
5Fri, May 22, 09:00 AM UTC
6Mon, May 25, 09:00 AM UTC
7Tue, May 26, 09:00 AM UTC
8Wed, May 27, 09:00 AM UTC
⚡ IST → UTC Quick Reference
6:00 AM IST12:30 AM UTC (prev day)
9:00 AM IST3:30 AM UTC
12:00 PM IST6:30 AM UTC
6:00 PM IST12:30 PM UTC
9:00 PM IST3:30 PM UTC
12:00 AM IST6:30 PM UTC (prev day)
🔗 Related Tools🔤Cron Translator🌍UTC Timezone ConverterCron Validator📖What is a Cron Job?
🚀 CronCourt Pro
Monitor GitHub Actions schedules
Get alerted when a scheduled workflow fails, is skipped, or runs late.
Join waitlist →