Whole-slide image · measured in your browser

No conversion needed.

Pan and zoom a 2.12 GB original Aperio SVS. PureJsImage reads its existing JPEG tiles with HTTP Range. No tile server, converted copy, or sidecar index is involved.

Original SVSStatic object storage0 runtime dependenciesWorker decode
Verified sample slides

These are unmodified public Aperio slides from the ImageBox3 Google Cloud test bucket. Each URL was verified for byte ranges, wildcard CORS, exposed Content-Range, Aperio metadata, and native tile decode. No PureJsImage proxy is involved.

Original pyramid tiles

Whole-slide viewport

Drag to pan · wheel or pinch to zoom
Waiting for slide metadata…

Starting the worker…

Tile requestsPending Decoded Cancelled

Drag quickly: offscreen work turns red as its AbortController is cancelled instead of piling up.

The access pattern

The browser asks for TIFF tiles, not another format.

The worker owns the range source, TIFF directory, JPEG decode, tile cancellation, and source-byte counters. The main thread owns only interaction, a bounded 192-tile bitmap LRU, and canvas drawing.

1HTTP RangeRead TIFF metadata and only requested byte spans
2Worker decodeComposite released PixelBlocks into one native tile
3Canvas + LRUDraw cached coarser tiles beneath incoming detail

Measured vs cited

What “no conversion” changes

No synthetic timings and no claim that PureJsImage is faster than Viv, OpenSlide, or libvips. This comparison is only about the path from an existing slide in object storage to a browser viewport.

QuestionThis demoConvert-to-OME-Zarr path
Source fileOriginal SVS, unmodified MeasuredA converted copy is required
Storage for serving2.12 GB as-is MeasuredAbout an order of magnitude larger for lossy-JPEG WSI Cited · OME NGFF ↗
PreprocessingNone Measuredbioformats2raw + raw2ometiff per slide; timing not measured here
ServingStatic object storage + HTTP Range MeasuredStatic serving is possible after conversion; conversion infrastructure is still required
Sidecar indexNone MeasuredNot required by Zarr; some OME-TIFF random-access workflows generate an IFD index
Bytes to browseSee the live counter above MeasuredNot measured here
Demo runtime dependencies0 MeasuredVaries
OME-Zarr is often the right call.

It is an open, actively developed format with broad tool support, standardized metadata, and independently accessible chunks. This demo is for a different moment: an Aperio slide is already sitting in a bucket and you want to inspect it before building a conversion pipeline.

Technical demonstration only. This viewer is not a diagnostic tool and has not been validated for clinical use.