GitHub Actions Windows runner cost per minute

A Windows minute on GitHub Actions costs more than a Linux minute and much less than a macOS minute. This page lists the Windows rates this site's calculator uses and works through what they mean for a monthly bill.

The standard Windows runners

The standard runner is what a job gets from a label such as windows-latest. In the pricing data read on 2026-10-05 it costs $0.01 a minute, on x64 and on arm64 alike. The standard Linux 2-core runner is $0.006 a minute, so a Windows minute costs about two thirds more.

In a private repository, Windows minutes use your plan's included minutes first, one for one. The GitHub pages read on that date list no minute multiplier: a Windows minute counts as one included minute, and only minutes beyond the allowance are billed at the Windows rate. In a public repository the standard Windows runner is free.

Larger Windows runners

Larger Windows runners. Prices last checked on 2026-10-05. Source: GitHub Docs, Actions runner pricing.
Sizex64, per minutearm64, per minute
2-corenot listed$0.008
4-core$0.022$0.014
8-core$0.042$0.026
16-core$0.082$0.05
32-core$0.162$0.098
64-core$0.322$0.194
96-core$0.552not listed

"Not listed" means the price list read on that date has no Windows runner of that size and architecture. There is also a Windows 4-core runner with a GPU at $0.102 a minute. GitHub's pricing reference says included minutes cannot be used for larger runners and that they are not free for public repositories, so every minute in this table is billed.

Worked example: all jobs on Windows

A GitHub Team account tests a desktop application in a private repository: 30 jobs per working day on the standard Windows runner, 8 minutes each, 22 working days a month. That is 660 jobs and 5,280 minutes. The plan includes 3,000, so 2,280 minutes are billed. The calculator gives $22.80 a month ($273.60 a year).

The same minutes on the Linux 2-core runner come to $13.68 a month, $9.12 less. That comparison assumes the jobs take as long on Linux, which you would have to measure.

Worked example: Windows as one fifth of the jobs

Most teams run Windows for part of a test matrix only. Keep the 5,280 minutes, but put 80% of the jobs on Linux 2-core and 20% on Windows:

Calculator output from prices last checked on 2026-10-05.
RunnerMinutesIncluded minutes usedMinutes beyond the planCost per month
Linux 2-core4,2242,4001,824$10.94
Windows 2-core1,056600456$4.56
Total5,2803,0002,280$15.50

The total is $15.50 a month ($186.05 a year), with the included minutes shared between the two runners in proportion to their use. Because included minutes are really used up in the order jobs run, the calculator also gives a range: $13.68 if the Windows jobs used the allowance first and $17.90 if the Linux jobs did.

Worked example: a larger Windows runner

A slow build is moved to the Windows 8-core x64 runner: 10 jobs a day, 12 minutes each, 22 working days, 2,640 minutes. All of them are billed, and the calculator's full version gives $110.88 a month ($1,330.56 a year). The Linux 8-core x64 runner, at $0.022 a minute, would cost $58.08 a month ($696.96 a year) for the same minutes. At this size a Windows minute costs nearly twice a Linux minute, a wider gap than on the standard runners.

What to take from the numbers

Price your own Windows share. The free calculator takes your plan, jobs per day, job length and the percentage of jobs on each standard runner. The full version adds every larger runner in the table above.

More guides