Bundle size and recipe coverage
Triiiceratops is currently both the smallest and most capable embeddable IIIF viewer.
Coverage against size
To put an objective (if imperfect) measurement on the capability of the following IIIF viewers, we count the number of recipes each viewer is recorded as supporting in the IIIF Cookbook Viewer Matrix. At the time of measurement, there were 69 recipes on that matrix.
Supported recipes more is better
- supported
- partial
- not supported
- of 69 recipes
Bundle size less is better
The bundle size of each viewer, gzipped, for an audio/visual session. That distinction is important because Universal Viewer, for example, uses code splitting to dynamically load support for audiovisual content. This can make it appear smaller than Mirador, but Mirador is a single bundle. The figures above are the real gzipped sizes delivered over the wire for an audiovisual session.
All viewers
| Viewer | Version | Recipes, of 69 | Image session | Audiovisual session | Bytes per recipe |
|---|---|---|---|---|---|
| Triiiceratops | 1.1.0 | 56 | 109,479 | — | 1,955 |
| Triiiceratops + plugin-av | 1.1.0 + 1.0.5 | 56 | 125,507 | 125,507 | 2,241 |
| TIFY | 0.35.0 | 30 (3 partial) | 141,467 | 141,467 | 4,716 |
| Canvas Panel | 1.0.74 | — | 180,757 | 180,757 | — |
| Universal Viewer | 4.4.2 | 25 | 502,284 | 800,413 | 32,017 |
| Clover IIIF | 3.12.0 | 18 (1 partial) | 623,761 | 623,761 | 34,653 |
| Mirador | 4.1.0 | 31 (3 partial) | 713,937 | 713,937 | 23,030 |
| Glycerine Viewer | 2.1.0 | 31 | 756,475 | 756,475 | 24,402 |
Method
Measured 30 September 2026. Each viewer's own documented embed was served locally and driven in a real browser against the IIIF Cookbook manifests 0001-mvm-image and 0003-mvm-video, and every request the page made was recorded. A session is the files that session actually fetched, so a viewer that code-splits is compared on what it loads rather than on what it publishes.
Compression is identical for every row: raw bytes, gzip level 9, Brotli quality 11, applied locally. Multi-file totals are the sum of each file compressed separately, as separate HTTP responses would be. Triiiceratops is built from this repository's own sources and every other row is that project's published artifact at the version in the table, not re-minified. Excluded everywhere: source maps, host HTML, manifests, images, tiles, media, fonts and external configuration.