Blog
Wild & Free Tools

Visualize Your GitHub Actions Cron Schedule

Last updated: April 2026 6 min read

Table of Contents

  1. GitHub Actions Schedule Format
  2. Visualizing Your GitHub Actions Schedule
  3. Why Your GitHub Actions Schedule Isn't Working
  4. Multiple Schedules in One Workflow
  5. Frequently Asked Questions

GitHub Actions on: schedule workflows use standard 5-field cron syntax running in UTC. Paste your schedule expression into our free crontab visualizer to see the next 20 UTC run times on a calendar — and instantly convert them to your local timezone.

This guide covers common GitHub Actions scheduling mistakes, the 5-minute minimum interval, inactive repository behavior, and how to debug a schedule that isn't firing.

GitHub Actions on:schedule Syntax

Schedule a workflow by adding on: schedule to your YAML:

on:
  schedule:
    - cron: '0 9 * * 1-5'    # 9 AM UTC, Monday-Friday

Key constraints specific to GitHub Actions:

How to Visualize Your GitHub Actions Schedule

Copy your cron value from the YAML and paste it (without quotes) into the crontab visualizer. The tool shows:

The visualizer uses your browser's local timezone, which means you can see exactly what UTC times correspond to your local hours. For example, 0 14 * * 1-5 (2 PM UTC, weekdays) will display as 9 AM EST or 10 AM EDT depending on the current date.

Common schedule examples for GitHub Actions:

GoalUTC Expression
Daily at midnight UTC0 0 * * *
Daily at 9 AM EST (UTC-5)0 14 * * *
Weekdays at 8 AM UTC0 8 * * 1-5
Every 15 minutes*/15 * * * *
Weekly on Sunday midnight UTC0 0 * * 0
Sell Custom Apparel — We Handle Printing & Free Shipping

Why Your GitHub Actions Schedule Isn't Firing

Scheduled workflows that stop working are usually one of these issues:

1. Repository marked inactive. GitHub pauses schedules on repos with no commits for ~60 days. Solution: push a commit, or manually disable and re-enable the schedule in Settings → Actions → Scheduled workflows.

2. Workflow file not on the default branch. on: schedule only triggers from workflows on the repository's default branch (usually main or master). A schedule on a feature branch won't run.

3. GitHub Actions delays. GitHub notes that scheduled workflows may run up to 15 minutes late during high-demand periods. 0 9 * * * might not actually fire until 9:10 AM UTC.

4. Syntax error in the cron expression. An invalid expression silently fails. Validate with the visualizer before committing.

5. Multiple schedules in one workflow. You can have multiple cron entries under on: schedule — they all trigger the same workflow. This is intentional but can cause confusion if you added a test schedule and forgot to remove it.

Multiple Cron Schedules in a Single Workflow File

GitHub Actions supports multiple cron entries in one workflow:

on:
  schedule:
    - cron: '0 8 * * 1-5'    # Weekday morning check
    - cron: '0 2 * * 0'      # Weekly Sunday maintenance

Both schedules trigger the same workflow. Use the github.event.schedule context to detect which schedule fired:

steps:
  - name: Check which schedule triggered
    run: |
      if [ "${{ github.event.schedule }}" = "0 8 * * 1-5" ]; then
        echo "Running weekday check"
      else
        echo "Running Sunday maintenance"
      fi

Validate each cron expression separately in the visualizer to confirm both schedules are correct.

Try It Free — No Signup Required

Runs 100% in your browser. No account, no install, no limits.

Open Free Crontab Visualizer

Frequently Asked Questions

What timezone does GitHub Actions use for cron schedules?

GitHub Actions uses UTC exclusively for all scheduled workflows. There is no way to specify a different timezone in the YAML. You must convert your desired local time to UTC manually. For example, 9 AM EST = 14:00 UTC in winter and 13:00 UTC in summer (during EDT).

Why did my GitHub Actions scheduled workflow suddenly stop running?

GitHub automatically disables scheduled workflows on repositories with no activity (commits, PRs, etc.) for approximately 60 days. To re-enable, push a commit to the repository, or go to Actions tab, find the disabled workflow, and click "Enable workflow." You can also check the workflow run history to see when the last scheduled run occurred.

Can I trigger a GitHub Actions scheduled workflow manually?

Yes. Add "workflow_dispatch:" to your on: triggers alongside schedule. This adds a "Run workflow" button in the GitHub Actions UI, letting you trigger the scheduled workflow on demand for testing. You can also trigger it via the GitHub API or the gh CLI with "gh workflow run ".

Launch Your Own Clothing Brand — No Inventory, No Risk