Platform hub

GitHub limits

Repository, object, push, browser upload, diff, and Git LFS limits. Values below are scoped rather than flattened into one misleading platform-wide number.

Verified Aug 22, 2026Official docs
Quick answer:  GitHub has multiple independent constraints. Match the exact plan, model, runtime, invocation mode, or server configuration shown in each row.

Current documented limits

ConstraintCurrent valueScopeVerified source
recommended on-disk repository sizeOn-disk size refers to the compressed .git directory and is a repository-health guideline.10 GB recommended maximumGitHub repositoriesGitHubAug 22, 2026
regular Git file sizeFiles beyond the hard block require Git LFS or an external release/storage path.50 MiB warning; 100 MiB hard block; 25 MiB browser uploadRegular repositoriesGitHubAug 22, 2026
single push sizeThe limit is enforced even when the repository itself can remain supported.2 GiBGit transportGitHubAug 22, 2026
maximum Git LFS objectStorage and download bandwidth are metered separately from the per-file ceiling.Free/Pro: 2 GB; Team: 4 GB; Enterprise Cloud: 5 GBGit LFSGitHubAug 22, 2026

How to apply GitHub limits safely

The monitored baseline covers recommended on-disk repository size, regular Git file size, single push size, maximum Git LFS object. Treat these as separate constraints rather than one platform-wide capacity number: a workload can fit one row and still fail another because the plan, model, endpoint, runtime, region, invocation mode, or account scope differs.

  1. Match the production workload to the exact scope printed beside each value and confirm it in the active GitHub console, configuration, or response headers.
  2. Measure the serialized request, token volume, duration, concurrency, storage, or connection demand at realistic percentiles, then preserve headroom for bursts and retries.
  3. Check every adjacent layer—client, SDK, gateway, proxy, queue, database, and downstream service—for a smaller effective limit before changing architecture.

Specific limit pages

These pages exist because the constraint has a distinct implementation or troubleshooting intent. Closely related keyword variations stay consolidated.

Official sources

View GitHub change history