GitLab.com generic package registry
- Free allowance
- 5 GB maximum per uploaded file (Generic).
- Verdict
- ★ qualifiesusable as stated; the read path was probed
- Cost
- free tier
- Identity
- institutionno card, no phone
- Binding limit
- per-object-cap5 GB per file
- Evidence
- reported5 sources; a third party said so
- Freshness
- stale on 2026-11-05checked 2026-10-21 (inherited); stale on 2026-11-05
| Free tier | 5 GB maximum per uploaded file (Generic). No per-project or per-namespace package storage cap is documented; the package registry is explicitly excluded from the 10 GiB project storage limit. unit GiB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Limits | 5 GB per file (Generic / Maven / npm / NuGet / PyPI / Conan); 10 GB for ML models (upload capped at 5 GB); 1 GB for Terraform state; Helm only 5 MB. Anonymous read of public project packages; writes need a token. Repository/LFS Git push limited to 5 GiB per request, irrelevant to packages. |
| Binding | per-object-cap the per-object cap sets the shard size and therefore the object count; it bounds the total more tightly than any headline quota |
| Identity | institution not published |
| Egress | Free and Cloudflare-fronted. GitLab.com is behind Cloudflare and blobs are served from Google Cloud Storage / the GitLab CDN (cdn.registry.gitlab-static.net). No egress billing for public projects. |
| Per-object cap | 5 GB maximum per upload (5000000000 bytes) |
| Retention | Artifacts expire in 30 days, packages do not. (30 days) |
| Interface | rest, cli rest |
| Tooling | GitLab REST API v4 (PUT /projects/:id/packages/generic/:package_name/:version/:file_name, GET .../package_files/:id/download), glab CLI, python-gitlab (has generic package support, merged), goreleaser pushes generic packages natively (PR #2745 merged). Works with plain curl — no special client needed. |
| Composes with | Unlimited projects per namespace (no project-count cap is documented on GitLab.com; the only new limits are 3 top-level *groups* for accounts created after 2026-01-27, and the personal namespace does not count). Each project is its own unbounded package bucket at 5 GB/file. N projects x unlimited package versions x 5 GB. Multiply again by additional free namespaces (3 groups + personal) and by unlimited free accounts. |
| Reliability | Snippets, packages and job artifacts count toward *namespace* storage as a display/billing figure but are not enforced as a cap — enforcement is per-project on repo+LFS only. GitLab could start enforcing namespace storage at any time; it has never done so for packages. Artifacts expire in 30 days, packages do not. |
| Parsed numbers |
|
Evidence 5
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | docs.gitlab.com/user/storage_usage_quotas/ | 'Only the project's repository and LFS are included in the storage limit. The container registry, package registry, and build artifacts are not included in the limit.' and 'Each project in a Free tier namespace on GitLab.com has 10 GiB of free storage.' |
| 2026-10-21 | docs.gitlab.com/user/gitlab_com/ | package registry max file size table: 'Generic | 5 GB'; also 'GitLab.com is fronted by Cloudflare' |
| 2026-10-21 | docs.gitlab.com/user/free_user_limit/ | top-level group limit of 3 applies only to accounts created after January 27, 2026, and 'Your personal namespace does not count toward this limit' |
| 2026-10-21 | gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages/2752497 | probe: GET with Range: bytes=0-1023 -> 206 Partial Content, Content-Range: bytes 0-1023/9035444, Server: cloudflare, x-goog-stored-content-length 9035444 (anonymous public-package download, Cloudflare-served, range-capable) — no token sent |
| 2026-10-21 | gitlab.com/api/v4/projects/gitlab-org%2Fcli/packages?per_pag | probe: GET -> 200, glab 1.44.1 last_downloaded_at 2026-10-21 (packages API anonymously listable) |
Unknown values 3
$.identity_cost.detailboilerplate$.per_object_cap.notesthe field may be stated in a source that was not read$.retention.notesthe field may be stated in a source that was not read