# firefoxPrintAll: full-page captures of pages that refuse to scroll

*2026-08-12*

> A Firefox extension that stitches viewport screenshots into one full-resolution image — including inner scrollable regions that body-level capture tools miss entirely.


Firefox's built-in screenshot handles pages whose *body* scrolls. It falls over completely on modern app layouts — chat UIs, dashboards, playgrounds — where the body never scrolls but a panel inside does. `captureTab()` hands you the visible viewport and that's it. This extension was built for exactly one such case: an LLM playground whose right-hand response panel scrolls inside a fixed frame.

The mechanism is honest scroll-and-stitch: scroll, capture each position, crop each tile to the target region, composite on a canvas. All geometry is computed in device pixels (`css px × devicePixelRatio`) and tiles are placed by their actual scroll offset, so seams don't appear even with fractional device pixel ratios and a clamped final tile.

Features:

- **Main document mode** — automatic when the page body scrolls
- **Inner region mode** — when the body doesn't scroll, a crosshair picker highlights the scrollable container under your cursor; click it to capture just that region
- Full-resolution output: save as lossless PNG or smaller JPEG from the result tab
- Seams avoided via actual-scroll-offset tile placement, not naive equal-height slicing
- Zero host permissions, zero data collection — `activeTab`, `scripting`, `storage` only
- Verified headless against a 60-model sidebar (255×2112) and a 4500px test page, both clean

Known limits, stated plainly: fixed/sticky elements repeat down stitched captures (inherent to the technique), and anything past ~32767px hits the canvas cap.

Source: [github.com/rahlquist/firefoxPrintAll](https://github.com/rahlquist/firefoxPrintAll)

