GitHub and GitLab overlap almost completely: repositories, pull or merge requests, issues, wikis, package registries, static pages and built-in CI. The differences that decide the choice are the shape of the pricing, the free-tier limits, and whether you want to run the software yourself.
This page is a directory entry, not a verdict. It puts the two side by side using the figures each vendor publishes, so you can weigh them for your own team.
At a glance
| GitHub | GitLab | |
|---|---|---|
| Owner | GitHub, Inc., a Microsoft subsidiary since 2018 | GitLab Inc. |
| Licence | Proprietary | Open core: Community Edition is MIT, paid tiers are proprietary |
| Hosted free tier | Unlimited public and private repositories, 2,000 Actions minutes and 500 MB of Packages storage per month | 5 users per private top-level group, 400 compute minutes and 10 GiB storage per month. Accounts created after 27 January 2026 get 3 top-level groups |
| Entry paid plan | Team, $4 per user per month | Premium, $29 per user per month billed annually |
| Top plan | Enterprise, from $21 per user per month | Ultimate, custom pricing |
| Self-hosting | GitHub Enterprise Server, included in the Enterprise plan | Community Edition, free with no seat limit. Enterprise Edition at Premium or Ultimate prices. GitLab Dedicated as a single-tenant instance |
| CI/CD | GitHub Actions. Self-hosted runners do not use included minutes | GitLab CI/CD. Your own runners do not use compute minutes |
| Single sign-on | SAML SSO on Enterprise | SAML group SSO on Premium and Ultimate |
| AI assistant | GitHub Copilot, sold separately | GitLab Duo through GitLab Credits. $12 and $24 of credits per user per month included on Premium and Ultimate, marked as a promotion |
Hosted plans side by side
| Tier | GitHub | GitLab |
|---|---|---|
| Free | Free, $0. 2,000 Actions minutes and 500 MB Packages storage a month | Free, $0. 5 users per private group, 400 compute minutes and 10 GiB storage a month |
| Middle | Team, $4 per user per month. 3,000 Actions minutes and 2 GB Packages storage | Premium, $29 per user per month billed annually. 10,000 compute minutes and $12 in GitLab Credits |
| Top | Enterprise, from $21 per user per month. 50,000 Actions minutes, 50 GB Packages storage, SAML SSO, Enterprise Server | Ultimate, custom pricing. 50,000 compute minutes, $24 in GitLab Credits, application security testing and compliance tooling |
Where they are the same
Both host unlimited public repositories free, with code review through pull requests on GitHub and merge requests on GitLab. Both include an issue tracker, a wiki, a package registry, static site hosting and a CI system driven by a YAML file in the repository. Both put SAML single sign-on and security scanning on their upper tiers, and both ship importers for bringing projects in. If your requirement list stops there, either will do, and the decision comes down to price and hosting.
Pricing shape
Per seat, GitHub is far cheaper. Team costs $4 per user per month against GitLab Premium at $29 billed annually. GitHub's pricing page shows both of its paid prices as applying for the first 12 months, with an asterisk, so read the footnote before budgeting year two.
GitLab no longer publishes a list price for Ultimate. The pricing page says custom pricing and asks you to contact sales. The reason GitLab still wins on cost for some teams is self-hosting: Community Edition costs nothing per seat, with no user limit, and you pay in servers and administration instead.
CI/CD minutes
GitHub Actions includes 2,000 minutes a month on Free, 3,000 on Team and 50,000 on Enterprise, and minutes are free for public repositories. GitLab includes 400 compute minutes on Free, 10,000 on Premium and 50,000 on Ultimate.
On both, jobs that run on your own runners do not consume the included quota, so a team with a spare machine can sidestep the limit entirely. Workflow files are not portable. GitHub Actions and GitLab CI use different YAML schemas, and moving CI in either direction is a rewrite.
Self-hosting
GitLab Community Edition is the whole product minus the paid features, under the MIT licence, and it is the most common reason a team leaves GitHub. It is also heavy: budget several gigabytes of memory and someone to administer it. Enterprise Edition adds the Premium and Ultimate features on your own hardware at the same per-seat prices, and GitLab Dedicated is a single-tenant instance that GitLab runs for you.
GitHub Enterprise Server is the self-hosted form of GitHub. It is part of the Enterprise plan, so it starts at $21 per user per month. There is no free self-hosted GitHub.
Free-tier limits
GitHub Free has no collaborator limit on private repositories. The limits are on Actions minutes and Packages storage. GitLab Free caps private top-level groups at 5 users, includes 400 compute minutes and 10 GiB of storage, and since 27 January 2026 limits new accounts to 3 top-level groups. Personal projects and public groups on GitLab.com sit outside the user cap.
For a small private team, GitHub's free tier stretches further. For a solo developer or an open-source project, the two are close.
AI features
GitHub sells Copilot as a separate subscription on top of any plan. GitLab bundles its Duo features through GitLab Credits: Free accounts buy credits as an add-on, and the pricing page shows $12 and $24 of credits per user per month included on Premium and Ultimate, marked as a promotional offer for a limited time. Neither is stable enough to plan around a year out. Check the vendor page before you count on it.
Moving between them
Git history moves intact in both directions with a mirror clone. GitLab's GitHub importer also brings issues, pull requests, wikis, milestones and releases across, which makes it the most complete importer in this directory. GitHub's importer takes source code from a GitLab URL but not issues or merge requests. CI is a rewrite either way.
git clone --mirror https://github.com/org/repo.gitcd repo.gitgit remote set-url --push origin git@gitlab.com:org/repo.gitgit push --mirror
What usually decides it
Three questions settle most of these decisions. Do you need to run it yourself for free? Only GitLab offers that. Do you need the cheapest hosted seats? GitHub Team at $4 is a fraction of Premium at $29. Do you depend on the GitHub ecosystem, meaning Marketplace Actions, Copilot, or the discoverability of hosting where most open-source projects already live? Then leaving costs more than the invoice shows.
Teams that answer no to all three often compare GitLab against the lighter self-hosted forges instead, such as Forgejo, Gitea and OneDev, which run on a fraction of the memory. The full directory covers those.
Frequently asked questions
Is GitLab free?
Self-hosted GitLab Community Edition is free with no seat limit. GitLab.com has a free tier limited to 5 users per private top-level group, 400 compute minutes and 10 GiB of storage per month.
Is GitHub cheaper than GitLab?
Per seat, yes. GitHub Team is $4 per user per month and GitLab Premium is $29 per user per month billed annually. GitLab is cheaper only when you self-host Community Edition, which has no per-seat cost.
Can you self-host GitHub?
Yes, as GitHub Enterprise Server, which is part of the Enterprise plan starting at $21 per user per month. There is no free self-hosted GitHub.
Do GitHub Actions workflows run on GitLab?
No. GitLab CI reads .gitlab-ci.yml with its own schema, so workflows have to be rewritten. Forgejo and Gitea are the platforms in this directory whose Actions implementations read GitHub workflow files.
Sources
Checked on 19 September 2026. Prices and limits change without notice. Each link goes to the page the figure came from.
- GitHub pricinggithub.com
- GitHub's plansdocs.github.com
- GitHub Actions billingdocs.github.com
- GitLab pricingabout.gitlab.com
- GitLab free tier user and group limitsdocs.gitlab.com
- GitLab compute minutesdocs.gitlab.com
- GitLab SAML SSO for groupsdocs.gitlab.com
- GitLab Community Edition licencegitlab.com
- Microsoft to acquire GitHub, June 2018news.microsoft.com