itch.io
itch.io · Storage · 1 record · JSON
itch.io (butler / Wharf) Storage
caveatinstitutionno cardRper-object-cap
| Free tier | 30 GB uncompressed per build ('the itch.io backend will reject builds with a total uncompressed size that exceeds 30GB'). No documented total-account storage cap; project pages have a soft limit of 20, raisable on request. Free to host, unlimited downloads. unit GB; metered on stored-bytes |
|---|---|
| Price | none stated |
| Per-object cap | per-object-cap: 30 GB (30000000000 bytes) |
| Retention | per-object-cap: 30 GB uncompressed per build/channel; per-object-cap on HTML5 embeds: 500 MB total extracted and 200 MB per single extracted file; web uploader caps at 2 GB (500 MB default) but butler has no such limit; request-rate not a practical constraint. Retention: builds persist until deleted; no TTL. |
| Egress | Free and unmetered — 'There is no limit to downloads' (itch.io support reply). Files served from itch.zone CDN. |
| Identity | institution derived from the record's prose, not from an identity field, and no signup was executed: stinct builds rather than overwriting; butler auth uses an API key, and a project can be taken down by moderation (technical effect: URL 404s, data gone). 30 GB per build x unlimited |
| Limits |
per-object-cap: 30 GB uncompressed per build/channel; per-object-cap on HTML5 embeds: 500 MB total extracted and 200 MB per single extracted file; web uploader caps at 2 GB (500 MB default) but butler has no such limit; request-rate not a practical constraint. Retention: builds persist until deleted; no TTL. |
| 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 |
| Interface | rest, rsync, cli rest |
| Tooling | butler CLI (butler push / butler download / butler status) plus the Wharf HTTP API — GET https://api.itch.io/wharf/latest?target=user/game&channel_name=X returns the build manifest. butler does rsync-style block diffing so re-pushes are cheap. |
| Composes with | 30 GB per build x unlimited channels per project (channel name is arbitrary: windows, osx, bonus, dlc-1, shard-01...) x up to 20+ projects per free account. 1 project x 20 channels = 600 GB on one free account. Each build is independently addressable and downloadable. |
| Reliability | Pushing the same directory twice is a no-op, so versions accumulate as distinct builds rather than overwriting; butler auth uses an API key, and a project can be taken down by moderation (technical effect: URL 404s, data gone). |
| Notes | 30 GB uncompressed per build ('the itch.io backend will reject builds with a total uncompressed size that exceeds 30GB'). No documented total-account storage cap; project pages have a soft limit of 20, raisable on request. Free to host, unlimited downloads. |
| Evidence rung | reported One page read moves it to documented. |
| Checked | 2026-10-21 (inherited); stale on 2026-11-04 |
| Parsed numbers |
|
Evidence (5)
| date | source | what it proved |
|---|---|---|
| 2026-10-21 | itch.io/docs/butler/pushing.html | 'Limits: currently, the itch.io backend will reject builds with a total uncompressed size that exceeds 30GB.' |
| 2026-10-21 | itch.io/t/46291/uploading-large-games-faq | 'butler is a more advanced uploader and has no such technical limits'; web uploader 2 GB ceiling |
| 2026-10-21 | itch.io/t/6077449/more-project-space | 'There is no limit to downloads'; butler raises per-project limit to 2 GB instantly, further on request |
| 2026-10-21 | api.itch.io/wharf/latest?target=test/test&channel_name=windo | probe: GET -> 200 {"errors":["invalid game"]} — endpoint is live and validating, i.e. the manifest read path is public |
| 2026-10-21 | img.itch.zone/aW1nLzE2ODI3NDY4LnBuZw==/original/ljN55Y.png | probe: GET -> 200, 39871 bytes, image/png — itch.zone CDN serves originals anonymously, no referer chain |
Unknown or withheld values (3)
$.free_tier.notesprocess$.per_object_cap.notesnot-extracted$.retention.notesnot-extracted