Is GitHub Actions free? What it actually costs in 2026
GitHub Actions is free on public repositories with standard runners; private ones get 2,000 minutes a month. GPU and larger runners are always billed.
Public repositories using standard GitHub-hosted runners pay nothing and have no minute cap, and self-hosted runners are free on every plan. Private repositories on the Free plan get 2,000 minutes and 500 MB of storage a month.
What the free tier actually includes
- 2,000 minutes a month on private repositories (3,000 on Pro and Team, 50,000 on Enterprise Cloud)
- Free and uncapped on public repositories with standard GitHub-hosted runners
- Self-hosted runners are free on every plan
- Beyond the allowance, per minute: Linux $0.006, Windows $0.010, macOS $0.062
- Larger and GPU runners are always charged — included minutes never cover them
Where the wall is
The operating system, and anything bigger than a standard runner. Past the free minutes a macOS minute costs $0.062 against $0.006 on Linux — about ten times — so a private iOS pipeline is where the bill starts. Larger runners, the GPU ones included, are charged from the first minute even on public repositories: GitHub’s billing docs say included minutes “cannot be used for larger runners”.
After that: Team is $4 per user per month for the first 12 months, with 3,000 minutes; Enterprise starts at $21 per user per month, with 50,000. Minutes beyond the allowance are billed per minute — GitHub’s own example: 5,000 extra minutes on Team (3,000 Linux, 2,000 Windows) cost $38.
Can you self-host GitHub Actions? Yes
Self-hosted runners are free, supported by GitHub, and remove the minute accounting entirely — you pay for the machine instead. Beyond that the honest alternatives are Forgejo Actions and Gitea Actions, which use the same workflow syntax, and Woodpecker or Drone for teams who want to leave the ecosystem rather than the billing.
Questions people ask
- Can GitHub Actions run on a free GitHub account?
- Yes. On GitHub Free, Actions runs on public repositories with standard GitHub-hosted runners at no cost and with no minute cap, and private repositories get 2,000 minutes a month. GitHub’s billing docs: “GitHub Actions usage is free for self-hosted runners and for public repositories that use standard GitHub-hosted runners.”
- How much do GitHub Actions minutes cost after the free allowance?
- Per minute, each job rounded up to the next whole minute: $0.006 on a Linux 2-core runner, $0.010 on Windows and $0.062 on macOS (GitHub’s runner pricing reference, read 14 Oct 2026). GitHub’s own worked example: on Team, 3,000 Linux and 2,000 Windows minutes beyond the included quota cost $18 + $20 = $38.
- Do Windows and macOS minutes count double on GitHub Actions?
- This page used to say so — 2× for Windows, 10× for macOS. GitHub’s current billing documentation does not publish minute multipliers: the page it titles “minute multipliers” lists a per-minute price for each runner instead. What is published is the price beyond the allowance — a macOS minute at $0.062 is about ten times a Linux minute at $0.006.
- Does GitHub Actions have GPU runners, and what do they cost?
- Yes, as larger runners: a Linux 4-core GPU runner with an NVIDIA Tesla T4 (16 GB), 4 CPUs and 28 GB of RAM costs $0.052 a minute — $3.12 an hour — and the Windows one $0.102 a minute. Larger runners are always charged, even on public repositories, the free minutes never cover them, and GitHub requires a card on file. For a long GPU job, renting by the hour costs less: an NVIDIA L4 (24 GB, a newer card than the T4) rents for $0.44 to $1.00 per GPU-hour at 7 companies’ published on-demand prices, read 12–13 Oct 2026.
- The GPU cost calculator — what an L4, or any of eight GPUs, costs by the hour at every company that publishes a price, each read on its own page and dated.
What it actually takes to run one yourself
Real RAM against the documented minimum, monthly cost, setup time, and the one thing that catches people out.
Self-hosting Woodpecker CI
Self-hosting Jenkins
When paying is still the right call
Stay if you are inside the free tier, which covers a very large number of small teams and every open-source project — public repositories run on standard runners at no charge, and no alternative beats free-and-already-configured. Stay if your pipeline depends on the marketplace ecosystem, on GitHub-native features like required status checks and environments, or on OIDC federation into a cloud account. And stay if nobody on the team wants to own a build machine: a self-hosted runner is free in minutes and not free in attention.
What you are locked into
Moderate and mostly cultural rather than technical. Workflow YAML is GitHub-specific, and the marketplace actions a pipeline leans on — checkout, cache, setup-node — have no direct equivalent elsewhere, so a migration is a rewrite of the workflow files rather than a copy. What does move cleanly is the actual work: if your CI is mostly `make test` or a Docker build, that runs anywhere. The deeper hook is that Actions is wired to GitHub's own events, permissions and secrets, so leaving Actions usually means keeping GitHub and bolting a second system to it.
If you would rather not pay: Woodpecker CI
Woodpecker CI
A small, container-native CI server you can run on one box.
Free and open source. You pay only for the machine it runs on.
See all 4 GitHub Actions alternatives comparedCompare the free options head-to-head
Read from GitHub (Microsoft)'s own pricing and documentation on 2026-10-14 — 15 days ago. Vendors change prices without notice; confirm before you commit.