Capture a full page
Create one long screenshot while Pinar controls scroll, scale, and repeated fixed content.
3 minIn this guide
How stitching works
Pinar plans viewport frames, scrolls through the document, temporarily suppresses repeated sticky or fixed elements, renders at the device pixel ratio, and restores the page afterward.
When the result differs
Lazy-loaded content, animated layouts, cross-origin frames, and pages that change while scrolling can produce gaps or unresolved regions. Let the page settle, retry, or capture the affected area separately.
Viewport tiles and layout restore
Pinar plans scroll positions from the union of pin bounds plus padding, then captures each viewport-tall PNG tile through the tab screenshot API. Later tiles wait briefly so the page can paint, and the composed canvas uses the device pixel ratio inferred from the first tile width versus the CSS viewport.
Before the first tile, sticky and fixed nodes are rewritten so they are not repeated on every frame. Original inline styles and scroll position are restored even if composition fails. Pin and mask coordinates are shifted to the capture origin before the image is cropped.
- Fixed nodes become absolutely positioned at the measured box, with transforms cleared so the screenshot does not offset them twice.
- Sticky nodes become relatively positioned for the duration of the capture pass.
- Tile scrolling uses instant scroll-behavior so the document does not animate between frames.