GitHub Actions pricing in 2026: runner rates and monthly bills
GitHub Actions pricing is $0.006 per minute for standard Linux 2-core x64, $0.010 for Windows 2-core and $0.062 for macOS, per GitHub's runner rates, checked on 4 November 2026. GitHub's billing docs make standard runners in public repositories and self-hosted execution free, with monthly compute allowances of $12 on Free (2,000 Linux minutes), $18 on Pro/Team (3,000) and $300 on Enterprise Cloud (50,000). GitHub proposed a $0.002/minute self-hosted charge for 1 March 2026, postponed it on 17 December 2025, and cut hosted rates by up to 39% from 1 January 2026.
We build Lizard, which sells GitHub Actions runners. All prices are in US dollars.
What happened to the 2026 GitHub Actions pricing change?
In December 2025, GitHub proposed a $0.002/minute platform charge for self-hosted runners from 1 March 2026. On 17 December 2025, GitHub postponed that change; its billing docs, checked on 4 November 2026, list no self-hosted runner fee. The announcement still shows the original proposal below the update:
| Event | What GitHub said |
|---|---|
| December 2025 announcement | Hosted runner prices would fall by up to 39% from 1 January 2026. |
| Original self-hosted proposal | A $0.002/minute platform charge was scheduled for 1 March 2026. |
| Updated announcement and 17 December 2025 notice | GitHub postponed the self-hosted billing change to reconsider its approach; hosted price cuts continued. |
| 28 October 2026 changelog | The shared allowance covers standard runners and cloud sandbox compute and memory, plus eligible larger runners on Team and Enterprise Cloud. Sandbox billing starts in November 2026. |
Sources: GitHub's updated changelog, proposal with update, postponement notice and October changelog.
Developers challenged the proposed fee on r/devops and Hacker News before GitHub postponed it.
Does GitHub charge for self-hosted runners?
GitHub charges no self-hosted runner execution fee as of 4 November 2026, per its billing docs. You still pay for the hardware, storage, network and maintenance. Postponed does not mean cancelled: leave the proposed fee out of today's estimates. GitHub's published hosted rates already include the platform charge described in its announcement.
For machines in your own network, set up a self-hosted runner. See managed runners and other CI platforms compared for the other options.
How many free GitHub Actions minutes do you get?
As of 4 November 2026, GitHub's billing docs give Free accounts $12, Pro and Team accounts $18, and Enterprise Cloud accounts $300 of monthly shared compute usage, in dollars. The 2,000, 3,000 and 50,000 minutes on GitHub's pricing page are what those amounts buy if spent only on standard Linux 2-core x64 jobs at GitHub's $0.006/minute rate.
| GitHub plan | Monthly compute allowance | Equivalent Linux 2-core minutes | Included artifact storage |
|---|---|---|---|
| Free, personal account | $12 | 2,000 | 500 MB |
| Free for organizations | $12 | 2,000 | 500 MB |
| Pro | $18 | 3,000 | 1 GB |
| Team | $18 | 3,000 | 2 GB |
| Enterprise Cloud | $300 | 50,000 | 50 GB |
Source: GitHub's included usage table. Equivalent minutes are the allowance divided by the standard Linux rate. Artifact storage shares an allowance with GitHub Packages; cache has a separate allowance.
Your allowance is shared across eligible usage in the billing account, not granted again for every repository or seat.
Is GitHub Actions free for private repositories?
Yes, within the account's included compute and storage allowances: $12 of monthly compute on Free, $18 on Pro and Team, and $300 on Enterprise Cloud, per GitHub's billing docs checked on 4 November 2026. Without a valid payment method, GitHub blocks additional usage when the allowance runs out; larger runners require a valid payment method. GitHub billing
With a payment method, open your account's billing overview, then Budgets and alerts. Enable the budget's stop-usage option to block further Actions spending when an applicable budget runs out; an alert alone does not cap the bill. GitHub budget settings
What is the GitHub Actions price per minute?
GitHub charges $0.006 per minute for standard Linux 2-core x64, $0.010 for Windows 2-core and $0.062 for macOS, according to its runner pricing reference checked on 4 November 2026. Standard rates apply after the private-repository allowance; standard public-repository jobs are free. Larger runners cost money in public repositories too.
Standard runners
| Runner | Price per minute |
|---|---|
Linux, 1-core x64 (ubuntu-slim) | $0.002 |
| Linux, 2-core x64 | $0.006 |
| Linux, 2-core arm64 | $0.005 |
| Windows, 2-core x64 | $0.010 |
| Windows, 2-core arm64 | $0.010 |
| macOS, 3-core M1 or 4-core Intel | $0.062 |
Source: GitHub standard runner rates. GitHub's runner specifications map workflow labels to machines. Check compatibility before choosing the slim or ARM option.
How are GitHub Actions minutes counted?
GitHub's runner pricing reference, checked on 4 November 2026, says GitHub rounds each job's runtime up to a whole minute, so a 20-second job bills as one minute. Add all jobs, including parallel jobs; elapsed workflow time is not billed job time.
For example, suppose you run 1,000 standard Linux x64 jobs that each take 20 seconds. That is about 333.33 minutes of elapsed job time, but 1,000 billed minutes. The gross runner cost is 1,000 × $0.006 = $6, before applying any remaining allowance. Multiplying the unrounded time by the rate would give $2 and understate the usage.
Use each OS's current dollar rate without an extra multiplier: GitHub deducts the calculated cost from the allowance. Windows and macOS already have higher rates. GitHub compute measurement
Standard runners in public repositories and self-hosted runners do not draw from GitHub's shared compute allowance. GitHub also lists standard runner use for GitHub Pages and Dependabot as free. Your own server or managed runner provider can still charge for self-hosted execution. GitHub included and free usage
Why is my GitHub Actions bill higher than expected?
Check these charges before comparing your bill with elapsed workflow time:
- Job rounding: GitHub rounds every job up separately, including parallel jobs.
- Failed runs and reruns: both consume compute.
- Larger runners: GitHub bills them in public repositories too.
- Shared compute: private-repository Copilot code review uses the allowance; cloud sandbox compute and memory also draw on it, with sandbox billing starting in November 2026.
- Storage: charges accrue over time. Deleting artifacts stops future accrual but does not erase usage already accrued for the month.
- Seats: paid GitHub plan seats cost extra; they do not multiply the Actions allowance.
Sources: GitHub billing, runner billing rules, sandbox announcement and plan pricing.
Next, follow GitHub's guide to viewing metered usage: open the Usage or Metered usage view, filter for Actions and choose the period you want to check. Download a usage report if you need the detail behind the total.
What do artifacts, cache and custom images cost?
GitHub bills Actions storage above the included amounts at $0.25 per GB-month for artifacts and $0.07 per GB-month for cache and custom images, per its billing docs checked on 4 November 2026. Runner minutes and storage have different allowances; unused compute allowance does not cancel a storage charge.
| Storage type | Included amount | Overage per GB-month |
|---|---|---|
| Actions artifacts, pooled with GitHub Packages | Plan amounts in the first table | $0.25 |
| Actions cache | 10 GB per repository | $0.07 |
| Custom images for larger runners | Team: 75 GB; Enterprise Cloud: 150 GB | $0.07 |
Source: GitHub storage pricing and allowances. GitHub calls its storage unit GB but defines it as binary GiB. It accrues GB-hours and divides by the hours in the billing month.
For actions/cache, GitHub measures each repository's peak cache size in each hour. You only incur cache overage if you configure its storage limit above the included amount. Custom image storage counts retained image versions over time, not how often jobs pull them. Workflow logs and job summaries do not count as artifact storage. GitHub storage measurement
Example: a Team organization keeps 12 GB of artifacts and no Packages storage throughout the month. After its 2 GB allowance, the artifact charge is (12 − 2) × $0.25 = $2.50. One repository with an hourly peak of 15 GB of cache throughout that month adds (15 − 10) × $0.07 = $0.35, assuming its cache limit permits that usage. Total storage overage: $2.85. This example has no custom images or other storage.
GitHub Actions pricing calculator: worked monthly bills
For a monthly estimate, multiply each runner family's rounded job minutes by its rate. Add other eligible compute, then subtract the shared allowance once, with a floor of zero. Add storage overage and plan fees.
GitHub has an official pricing calculator where you can select OS, hardware and monthly minutes. Use billed job minutes, then reconcile its estimate with your remaining shared allowance and storage use.
Gross runner cost = sum of (rounded job minutes × runner rate)
Compute overage = max(0, eligible compute cost − shared allowance)
Estimated bill = plan fees + compute overage + storage + other chargesFour example bills
Example assumptions: one month of private-repository usage at list rates, before tax. Minutes include setup, failures and retries, rounded per job. No other eligible compute consumes the allowance; no storage overage, credits, discounts or paid add-ons apply.
The Team examples assume five paid seats. GitHub lists Team at $4 per user per month, so those seats add 5 × $4 = $20/month. This fee does not multiply the Actions allowance. GitHub plan pricing, included compute rules
| Example monthly workload | Gross runner cost | Allowance applied once | Compute overage | Plan fee | Estimated bill |
|---|---|---|---|---|---|
| Free organization: 3,000 Linux 2-core x64 minutes | $18 | $12 | $6 | $0 | $6 |
| Team: 3,000 Linux 2-core x64 minutes | $18 | $18 | $0 | $20 | $20 |
| Team: 20,000 Linux 4-core x64 larger-runner minutes | $240 | $18 | $222 | $20 | $242 |
| Team: 2,000 Linux 2-core x64 minutes + 500 standard macOS minutes | $43 | $18 | $25 | $20 | $45 |
Calculations use GitHub's runner rates and plan allowances. The standard Linux machine has 2 cores and 8 GB RAM; the 4-core larger runner has 16 GB RAM. The macOS example uses the standard M1 runner with 3 cores and 7 GB RAM. Standard specifications, larger specifications
A five-seat Team organization running 20,000 Linux 4-core x64 larger-runner minutes a month pays 20,000 × $0.012 − $18 = $222 of compute overage plus 5 × $4 = $20 for seats: $242 at GitHub's runner rates, allowances and plan prices checked on 4 November 2026. Team's shared allowance covers eligible larger-runner usage.
The mixed-OS example is 2,000 × $0.006 + 500 × $0.062 = $43 gross compute, then $43 − $18 + $20 = $45 including seats. The allowance applies to the combined usage, not separately to each OS.
Add the storage example above to the larger-runner example, and the estimate becomes $242 + $2.85 = $244.85.
Full GitHub Actions runner rate reference
Larger x64 runners
| Cores / runner | Linux per minute | Windows per minute |
|---|---|---|
| 2, Linux Advanced | $0.006 | Not listed |
| 4 | $0.012 | $0.022 |
| 8 | $0.022 | $0.042 |
| 16 | $0.042 | $0.082 |
| 32 | $0.082 | $0.162 |
| 64 | $0.162 | $0.322 |
| 96 | $0.252 | $0.552 |
GitHub also lists its Intel macOS 12-core larger runner at $0.077/minute. Source for this price and the table: GitHub x64 larger-runner pricing.
Larger arm64 runners
| Cores | Linux per minute | Windows per minute |
|---|---|---|
| 2 | $0.005 | $0.008 |
| 4 | $0.008 | $0.014 |
| 8 | $0.014 | $0.026 |
| 16 | $0.026 | $0.050 |
| 32 | $0.050 | $0.098 |
| 64 | $0.098 | $0.194 |
GitHub lists the macOS 5-core M2 Pro larger runner at $0.102/minute. Source for this price and the table: GitHub arm64 larger-runner pricing.
On Team and Enterprise Cloud, the larger 2-core Windows arm64 runner ($0.008/minute) costs less than the standard Windows arm64 runner ($0.010). Bill each job at the rate of the runner it used. GitHub rate reference
GPU runners
| GPU runner | Price per minute |
|---|---|
| Linux, 4-core | $0.052 |
| Windows, 4-core | $0.102 |
Source: GitHub GPU pricing. GitHub's hardware reference lists a Tesla T4 for these runners.
Larger runners require an organization on Team or Enterprise Cloud. GitHub bills execution, not unused runner configurations. Eligible usage draws from those plans' shared compute allowance. GitHub larger-runner billing notes
How to lower your GitHub Actions bill
Look for jobs that run often, fail repeatedly or rebuild commits a newer run has replaced. Fix those first.
- Cancel superseded test runs with
concurrencyandcancel-in-progress: true. Use a group that separates workflows and branches. Avoid cancelling deployments that must finish safely. - Use
pathsorpaths-ignorefor changes that do not need a build. Check required status checks first: GitHub warns that a workflow skipped by path filters can leave its required check pending. - Cache dependencies and build outputs that are safe to reuse. Compare the time saved with cache storage and transfer overhead.
- Move jobs that fit on one core to
ubuntu-slim($0.002/minute), or ARM-ready Linux jobs to arm64 ($0.005) instead of x64 ($0.006). Check compatibility first. GitHub rates - Right-size the runner. A larger machine helps only when the job can use its extra resources; compare the cost of a successful job, including retries.
- Set
timeout-minutesfor jobs that can hang. Choose it from observed normal runtimes, with room for variation.
GitHub documents concurrency, filters and timeouts and dependency caching.
For example, add this workflow-level block to cancel an older run of the same workflow and ref:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: trueWhich GitHub Actions runners cost less than GitHub's?
Checked on 4 November 2026, published Linux x64 2-vCPU rates per minute were $0.00027 for Lizard, $0.002 for Ubicloud Premium, $0.003 for Namespace Developer, $0.004 for Blacksmith and WarpBuild Cloud, and $0.006 for Depot, against GitHub's $0.006. These list or overage rates exclude allowances, plan fees and extras. Cells show price per minute; RAM. Memory differs; the prices do not measure performance.
| Provider | 2 vCPU | 4 vCPU | 8 vCPU | Billing unit |
|---|---|---|---|---|
| GitHub-hosted (baseline) | $0.006; 8 GB | $0.012; 16 GB | $0.022; 32 GB | Per job, rounded up to the minute |
| Blacksmith | $0.004; 8 GB | $0.008; 16 GB | $0.016; 32 GB | Rates per minute; partial-minute rounding unverified |
| Depot | $0.006; 8 GB | $0.012; 16 GB | $0.024; 32 GB | Minutes tracked per second; no one-minute minimum |
| Lizard runners | $0.00027; 4 GiB | $0.00054; 8 GiB | $0.00108; 16 GiB | Per second of VM lifetime |
| Namespace, Developer | $0.003; 4 GB | $0.006; 8 GB | $0.012; 16 GB | Compute-unit minutes; one-minute minimum |
| Ubicloud Premium | $0.002; 8 GB | $0.004; 16 GB | $0.008; 32 GB | Per minute |
| WarpBuild Cloud | $0.004; 8 GB | $0.008; 16 GB | $0.016; 32 GB | Per minute |
GitHub's standard and larger-runner specifications supply its RAM sizes. Lizard's rates are its published hourly prices divided by 60; the bill uses seconds. Other providers' memory units are reproduced as published. Blacksmith's runner docs give its memory sizes, while its pricing page's size selector gives the rates. Depot's pricing FAQ states its usage granularity.
Plan terms can change the winner:
- Lizard Pro costs $19/month, taxes included, with $19 of usage included across the account. Usage above that is pay as you go. A paid monthly bill is never below $19. Lizard pricing
- Blacksmith includes 3,000 x64 2-vCPU equivalent minutes per organization each month. Larger runners consume that shared pool proportionally; it is not a fresh allowance for each size. Blacksmith allowance rules
- Depot Developer is $20/month with 2,000 base GitHub Actions minutes and one user. Startup is $200/month with 20,000 base minutes and unlimited users. Larger runner sizes use the included minutes proportionally. Depot plans, minute multipliers
- Namespace Developer has no monthly commitment. Its $100/month Team plan includes 100,000 compute-unit minutes at prepaid rates, shared across eligible compute. The table uses Developer/overage prices, not the lower prepaid rates. Cache storage can add charges. Namespace pricing
- Ubicloud's pricing docs include a $2.50 monthly account credit. Its 27 April 2026 post says Standard x64 runners are no longer available to new customers, although its current pricing docs still list Standard. This comparison uses Premium's $0.002/minute for new customers; confirm the tier before moving jobs.
- WarpBuild lists cache and snapshot charges separately from Cloud runner minutes. Its own-cloud service also has a management fee plus your cloud infrastructure costs. WarpBuild pricing
Example: 10,000 Medium VM minutes on Lizard cost $5.40 in usage, but the monthly minimum makes the bill $19. At 40,000 Medium VM minutes, usage and the bill are $21.60. These estimates exclude other resources and trial usage, and assume the stated VM time, not equal runtime on another provider.
For light usage, GitHub can cost less: a Free GitHub organization running 3,000 Linux 2-core x64 minutes a month bills $6, below Lizard's $19 monthly minimum, assuming no other usage or storage charges. Open source projects already using GitHub's free standard runners should keep that option unless they need something it cannot provide.
When Lizard fits, and when to keep another runner
Lizard runners are GitHub Actions runners for GitHub organizations, billed per second of VM lifetime from $0.00027 per minute (2 vCPU, 4 GiB), and support Linux x64 on Ubuntu 24.04 only. Windows, macOS and ARM jobs stay on GitHub. Personal accounts cannot use Lizard runners; an organization admin must install the Lizard GitHub App. During the 7-day trial, jobs run on small runners, up to 4 vCPU at a time, per Lizard's runner page. The trial requires a card and includes $5 of usage; Lizard charges nothing during the trial. Lizard trial terms
Lizard runs each job in a fresh VM and meters its lifetime by the second. Lizard keeps a cache disk only for private repositories, and jobs from forks never run with it. Pull requests and other branches can read the cache; only pushes, schedules and manual runs on the default branch save to it.
For our one measured frontend image build, tested from 21 to 29 October 2026, Lizard's runner page shows Lizard Medium was cheaper and slower than GitHub's ubuntu-latest: $0.0024 versus $0.024, with median VM time of 4 min 27 s versus GitHub's median runtime of 3 min 35 s.
GitHub is the better fit for a workflow that needs its Windows, macOS, ARM or GPU runners without another integration. For jobs that must run in your own cloud, compare self-hosting with WarpBuild's own-cloud service or Depot's Business offering. If the fastest builds matter most, benchmark providers such as Blacksmith, Depot and Namespace using your own repository. Their higher rates may still buy a shorter feedback cycle. Choose Lizard runners when their lower rate and supported environment suit the job.
To try Lizard runners, an organization admin installs the Lizard GitHub App, then moves one Linux x64 job by changing runs-on. Follow the setup steps.
For each provider's limits and a comparison of CI platforms, see managed runners and other CI platforms compared.
Frequently asked questions
Do unused minutes roll over? GitHub's billing docs say the shared compute allowance resets at the start of each billing cycle. Use the new cycle's allowance when estimating next month's bill.
Are larger runners free in public repositories? No. Only standard runners are free there; GitHub bills larger runners in public repositories too. GitHub runner billing rules
Build with AI. Ship with Lizard.
You don't need a platform team to go live. Your whole cloud, one CLI command away.
- Services
- —
- Add-ons
- —
- Deployments
- —
- Sandbox starts
- —