Zero Signup ToolsFree browser tools

Developer Tools

GitHub Actions Cron Builder

Build, explain, and validate GitHub Actions cron schedules. UTC and local next-run preview, workflow YAML snippet, drift and 60-day caveats.

POSIX 5-field cron. Order: minute hour day-of-month month day-of-week. GitHub interprets it in UTC.

Plain English

At 09:00 UTC, every day, Monday to Friday

CI-focused presets

A starting point for common GitHub Actions schedules. All times are UTC; pick one and edit the fields.

Field breakdown

What each cron field expands to.

FieldRangeTokenMatches
Minute0-5900
Hour0-2399
Day of month1-31*all
Month1-12*all
Day of week0-61-5Monday, Tuesday, Wednesday, Thursday, Friday

Next 8 runs

Computed in UTC (the only zone GitHub Actions uses). Toggle Local to see when the schedule fires in your time zone.

  1. 2026-06-22 09:00 UTCin 41 minutes
  2. 2026-06-23 09:00 UTCin 1 day
  3. 2026-06-24 09:00 UTCin 2 days
  4. 2026-06-25 09:00 UTCin 3 days
  5. 2026-06-26 09:00 UTCin 4 days
  6. 2026-06-29 09:00 UTCin 7 days
  7. 2026-06-30 09:00 UTCin 8 days
  8. 2026-07-01 09:00 UTCin 9 days

GitHub Actions caveats

Documented quirks of scheduled workflows that catch a lot of teams.

UTC only.

The cron expression is interpreted in UTC. There is no time zone field. If your team is in PST or IST, translate the schedule yourself, or watch the Local preview above.

Runs from the default branch.

Scheduled workflows only fire when the workflow file exists on the repository's default branch. Feature-branch schedules are ignored.

Drift during peak times.

GitHub's scheduling has high load periods; runs can be delayed by minutes or skipped entirely. Critical jobs should be idempotent and check their own last-run timestamp.

60-day inactivity rule.

Scheduled workflows in a repository that has had no activity on the default branch for 60 days are disabled automatically. Push a commit or re-enable the workflow to restore the schedule.

Workflow YAML snippet

A complete .github/workflows/*.yml file with the schedule above. Adjust the steps to your job.

.github/workflows/scheduled.yml

name: Scheduled Task

on:
  schedule:
    # Runs weekdays at 09:00 UTC
    - cron: '0 9 * * 1-5'
  workflow_dispatch:

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run scheduled work
        run: echo "Replace this step with your scheduled job."

How to use

  1. Type or paste a 5-field cron expression into the input. Use the CI-focused presets if you want a starting point: nightly midnight UTC, weekdays 09:00 UTC, every six hours, and more.
  2. Read the plain-English explanation under the input and check the Field breakdown table to confirm each field expands to the values you expected.
  3. Switch the Next 8 runs preview between UTC and Local. The UTC view is what GitHub Actions actually uses; the Local view shows when those UTC times land in your chosen time zone so you can confirm the schedule fits your team's working hours.
  4. Review the caveats panel. UTC only, default-branch only, drift during peak hours, and the 60-day inactivity rule are the four gotchas that explain most missed runs.
  5. Set the workflow name, job id, and cron comment in the YAML snippet builder. Toggle workflow_dispatch on if you also want a manual Run workflow button in the Actions tab.
  6. Copy the YAML snippet and drop it into .github/workflows/scheduled.yml in your repository's default branch. The schedule starts firing once the file lands on the default branch.

About this tool

GitHub Actions Cron Builder is a focused tool for the cron schedules that live inside a .github/workflows YAML file under on.schedule.cron. GitHub Actions interprets every cron expression in UTC, accepts only the POSIX 5-field grammar (minute, hour, day of month, month, day of week), and rejects the Quartz extensions that other schedulers allow (no seconds field, no question mark placeholder, no L, no W, no hash). This tool parses your expression with those exact rules and gives a pointed error when a Quartz-style token slips through. A live plain-English explanation describes when the schedule fires, a Field breakdown table shows what each field expands to, and a Next 8 runs panel previews the upcoming run times in both UTC and a chosen IANA time zone so the UTC-only nature of GitHub Actions is unmissable. A curated set of CI-focused presets covers the most common patterns: nightly at midnight UTC, daily at 06:00 UTC for European mornings, weekdays at 09:00 UTC, every six hours, every 30 minutes, weekly on Sunday, monthly on the first, and yearly on January 1. A workflow YAML snippet builder assembles a complete .github/workflows/scheduled.yml with your cron, an optional workflow_dispatch trigger so you can also run the job manually from the Actions tab, your workflow name, a job id, and a comment line. A caveats panel surfaces the GitHub-specific gotchas that catch real teams: schedules run only from the default branch, are dropped or delayed during high-load periods, and are auto-disabled after 60 days of inactivity on the default branch. The tool also flags POSIX cron behavior that surprises people, like the day-of-month and day-of-week OR rule. Everything runs locally; nothing you type is uploaded. Useful for replacing crontab.guru for the GitHub Actions case, for sanity-checking schedules before opening a pull request, for migrating Quartz or Spring schedules to GitHub Actions, and for getting next-run previews in your own time zone without spinning up a CI job to test.

Free to use. Works in your browser. No signup, no login.

Related tools

You may also like

All tools
All toolsDeveloper Tools