GitHub Actions cost per hour, runner by runner

GitHub prices its hosted runners per minute, but long builds, test suites and scheduled jobs are easier to think about in hours. This page converts the per-minute rates of the standard runners into hours, shows how many hours each plan includes, and prices a runner that is busy for part of every working day. Every figure comes from this site's calculator.

The formula in words

An hour of runner time is 60 billed minutes, so the hourly cost is 60 times the runner's per-minute rate. Several hours cost the hours times 60 times the rate. Those are the prices once the plan's included minutes are used up; inside the included minutes, and in a public repository on standard runners, the hour costs $0.00.

Cost of 1, 8, 24 and 100 hours

Runner time billed at the per-minute rate of each standard runner. Prices last checked on 2026-10-05. Source: GitHub Docs, Actions runner pricing.
RunnerRate per minute1 hour8 hours24 hours100 hours
Linux 1-core, x64$0.002$0.12$0.96$2.88$12.00
Linux 2-core, x64$0.006$0.36$2.88$8.64$36.00
Linux 2-core, arm64$0.005$0.30$2.40$7.20$30.00
Windows 2-core, x64$0.01$0.60$4.80$14.40$60.00
Windows 2-core, arm64$0.01$0.60$4.80$14.40$60.00
macOS 3-core or 4-core, M1 or Intel$0.062$3.72$29.76$89.28$372.00

An hour on the common Linux 2-core x64 runner is $0.36. The arm64 runner of the same size is $0.30, Windows is $0.60 and macOS is $3.72, a little over ten times the Linux x64 hour. A full day of one macOS runner, 24 hours, costs $89.28; the same day on Linux 2-core x64 costs $8.64.

Billing is still by the minute

The hour is only a convenient unit. GitHub rounds each job up to the nearest whole minute, not to the nearest hour. A job that runs for 60 minutes and 30 seconds is billed as 61 minutes, about $0.37 on Linux 2-core x64, and a 10-minute job is billed as 10 minutes. Rounding matters for very short jobs, not for hour-long ones.

Hours included in each plan

The included minutes of a plan, divided by 60, give the hours of standard runner time a private repository gets before anything is billed.

Included minutes for standard runners, expressed as hours. Allowances last checked on 2026-10-05. Source: GitHub Docs, GitHub Actions billing.
PlanIncluded minutes per monthAs runner time
GitHub Free2,00033 hours 20 minutes
GitHub Pro3,00050 hours 0 minutes
GitHub Free for organizations2,00033 hours 20 minutes
GitHub Team3,00050 hours 0 minutes
GitHub Enterprise Cloud50,000833 hours 20 minutes

The GitHub pages read on the checked date list no minute multiplier: an hour on any standard runner uses 60 included minutes. What differs between runners is the price of each hour after the allowance is gone.

A runner busy for part of every working day

Suppose the jobs of a private repository on GitHub Team add up to a fixed number of runner hours per working day, 22 working days a month. GitHub Team includes 3,000 minutes, which is 50 hours.

Runner hours per working day on GitHub Team, 22 working days. Calculator output from prices last checked on 2026-10-05.
Hours per working dayMinutes per monthMinutes billedLinux 2-core x64, per monthmacOS, per month
2 hours2,6400$0.00$0.00
4 hours5,2802,280$13.68$141.36
8 hours10,5607,560$45.36$468.72
24 hours31,68028,680$172.08$1,778.16

Two hours a day stays inside the included minutes and costs nothing extra on either runner. At four hours a day, 2,280 minutes are billed: $13.68 on Linux and $141.36 on macOS. One Linux 2-core x64 runner kept busy around the clock on working days costs $172.08 a month in compute; the same hours on macOS cost $1,778.16.

To reproduce a row in the calculator, enter the hours as jobs per day, 60 as the minutes per job and 22 working days, with all jobs on one runner. The figures are compute only; plan seats, storage and taxes are left out.

Work from your own hours. Put your jobs per day and their average length into the free calculator, choose your plan and split the jobs between runners to see the month and the year.

More guides