$ ~/cicdcalculator

Is GitLab CI free?
./yes-with-limits --400-minutes --2026

By Oliver Wakefield-Smith, Founder, Digital Signet·Verified June 2026
Direct answer

Yes, GitLab CI is free, with limits. The Free tier includes 400 compute minutes per month on GitLab-hosted shared runners, counted per top-level namespace rather than per user. That allowance is roughly a fifth of GitHub Actions' 2,000 free private-repo minutes, so it runs out fast. The escape hatch is that self-hosted runners are unlimited and free on every tier. Past 400 minutes you buy more ($10 per 1,000) or upgrade to Premium ($29/user for 10,000 minutes).

Free tier
400 min/mo
Counted
Per namespace
Self-hosted runners
Free / unlimited
Overage
$0.01 / min

What the free tier includes

Every GitLab plan ships with a monthly compute-minute allowance for GitLab-hosted shared runners. The allowance is a single pool per top-level namespace, so it does not grow as you add seats.

PlanSeatIncluded compute min / moSelf-hosted runners
Free$0400Unlimited
Premium$29 / user10,000Unlimited
UltimateCustom quote50,000Unlimited

Allowances per about.gitlab.com/pricing and docs.gitlab.com compute minutes, checked July 2026. Included minutes are per top-level namespace, not per user.

What counts against your 400 minutes

GitLab meters compute with a cost factor per machine type. The default small Linux runner is 1x; every larger or specialised machine multiplies before it is deducted, so the effective free minutes shrink fast if you leave the defaults.

Hosted runnerCost factorEffective free minutes
Linux small (default)1x400
Linux medium2x200
Linux large3x133
Linux xlarge6x66
macOS M1 medium6x66
macOS M2 Pro large12x33

Cost factors per docs.gitlab.com/ci/pipelines/compute_minutes, checked July 2026. Effective minutes = 400 divided by the cost factor. Self-hosted runners have no cost factor and consume no compute minutes.

When do you start paying?

Anyone on self-hosted runners
Never
Self-hosted runners are free and unlimited on every tier. Point your pipelines at your own compute and the 400-minute pool never comes into play.
Small team on hosted runners
~Day 5
20 small-Linux builds/day at 4 min each is 80 min/day. The 400 Free minutes are gone inside the first working week, then hosted jobs stop until the monthly reset.
Team needing a larger machine
~Day 2
On a large (3x) runner the same cadence burns the effective 133 minutes in a couple of days. Larger machines are where the Free tier disappears fastest.

When a Free namespace exhausts its 400 minutes, pipelines that need GitLab-hosted shared runners stop until the next monthly reset. You can buy additional minutes at $10 per 1,000 ($0.01 per minute) on any plan, upgrade to Premium for the 10,000-minute allowance, or, most commonly, register a self-hosted runner so the hosted quota stops mattering entirely.

Keep going

Frequently Asked Questions

# click any question to expand

Is GitLab CI free?>
Yes, with limits. The Free tier includes 400 compute minutes per month on GitLab-hosted shared runners, counted per top-level namespace (group), not per user. Beyond that you either buy additional minutes ($10 per 1,000), upgrade to Premium ($29 per user per month for 10,000 included minutes), or run self-hosted runners, which are unlimited and free of per-minute charges on every tier, including Free.
How many free GitLab CI minutes do you get per month?>
400 compute minutes per month on the Free tier, 10,000 on Premium ($29/user/month), and 50,000 on Ultimate (custom, sales-quoted). The included minutes are a flat pool per top-level namespace, not per seat, so a 5-person and a 50-person group on the same plan start from the identical allowance. Minutes only apply to GitLab-hosted shared runners; self-hosted runners consume none.
Why is GitLab's free tier so much smaller than GitHub's?>
GitHub Actions Free gives 2,000 private-repo Linux minutes per month; GitLab Free gives 400. That is a 5x difference on the hosted allowance, and it catches teams migrating from GitHub off guard. GitLab's counterweight is that self-hosted runners are free and unlimited on every tier, so many GitLab teams register their own runners rather than lean on the 400-minute hosted pool at all.
Do bigger machines use GitLab minutes faster?>
Yes. GitLab meters compute with a cost factor per machine type. The default small Linux runner is 1x, so one job minute costs one compute minute. Larger Linux runners scale up: medium 2x, large 3x, xlarge 6x, 2xlarge 12x. Hosted macOS runners are 6x (M1 medium) to 12x (M2 Pro large). So 400 monthly minutes is only about 133 minutes on a large Linux runner, or roughly 66 minutes on a hosted M1 Mac.
Are GitLab self-hosted runners free?>
Yes. You can register unlimited self-hosted runners against any plan, including Free, with no per-minute charge. You pay only for the underlying compute you run them on. This is the standard way GitLab teams avoid the 400-minute hosted cap: point your pipelines at your own runners and the compute-minute quota never comes into play.
When do you start paying for GitLab CI?>
You start paying the moment a pipeline on a GitLab-hosted shared runner pushes a Free-tier namespace past its 400 compute minutes in a calendar month. At that point hosted-runner jobs stop until the monthly reset unless you buy additional minutes ($10 per 1,000, so $0.01 per minute) or upgrade to Premium for the 10,000-minute allowance. Jobs on self-hosted runners keep running regardless.
How do I avoid going over the 400-minute free tier?>
Register a self-hosted runner (free and unlimited), keep pipelines on the default small Linux runner rather than larger cost-factor machines, cache dependencies so installs do not re-run from scratch, and use rules/only-changes so unrelated jobs skip on each push. Because the 400 minutes are a namespace-level pool, consolidating projects and trimming redundant jobs stretches the allowance further than any single optimisation.