KhronosGroup / KhronosGroup/glTF
GLB file size is limited to 2^32 bytes because of uint32 length
- Dominant language
- HTML
- Stars
- 7.8k
- Forks
- 1.2k
- Avg merge
- 17h 26m
- Merged PRs (30d)
- 5
Description
The GLB file size is currently limited to `2^32` bytes (approximately `4 GB`) which could be limiting for some applications. For example we would like to store a mesh sequence into the GLTF format, which quickly exceed the `2^32` byte limit.
It is understandable to limit the individual chunk size to `2^32`, but limiting the total file size to `2^32` seems to restrict future applications. Is there a technical limitation to only support datatypes with size of an `unsigned int`? Or is there a workaround for this limitation that integrates everything into a single file?
Here the current binary protocol definition of a GLB file:

*Source: [Binary glTF Layout](https://www.khronos.org/registry/glTF/specs/2.0/glTF-2.0.html#binary-gltf-layout)*
Contributor guide
Research direction
Start with the Binary glTF Layout section of the linked glTF 2.0 specification and examine how the uint32 fields constrain chunk and total file sizes. A complete outcome would need to establish whether larger single-file GLB assets are technically feasible or document a supported workaround; the issue names no repository files or tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- computer-graphics
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100