Measure the scroll
A screenshot of the window is the wrong frame for a document. The window is a viewport. The document is the scroll height. Wholeframe records that height, then moves the viewport down by exactly one screen each time, except the last step, which lands on the bottom and crops the overlap.
For a 2,500 pixel page and an 800 pixel window, the slices are 0–800, 800–1600, and a final crop of 1600–2500 taken from a scroll position of 1700. Nothing is drawn twice.
Sticky, once
If you simply scroll and shoot, a fixed header is in every frame. The stitched image looks like the header is tiled. Wholeframe marks position:fixed and position:sticky elements, keeps them for the first capture, then sets visibility to hidden. Hidden elements still occupy layout space, so the document does not jump, and the content they were covering becomes visible.
The header is part of the page. It is not part of every inch of the page.
Lazy images
Many sites leave images unloaded until they near the viewport. A capture that never scrolls there saves blank rectangles. The option “scroll first” walks the page, waits a moment on each hop so loaders can run, returns to the top, then captures for real. It stops if the page keeps growing, so an infinite feed cannot run forever.
- Wait of none, one, two, or three seconds, for cookie banners.
- Visible-area capture, when you only want the screen you are on.
- Right-click the page for the same two commands.
Limits
Chrome will not let an extension capture chrome:// pages, the Web Store, or the new tab. Pages taller than 50,000 pixels are cut off. Very tall images may also be scaled down so they fit in a single canvas. The preview tab says when either limit applied. Screenshots stay on your machine.
A page with some length
The blocks below exist so this document is long. Capture it. Then scroll the preview and check that section titles appear once, in order, and that the sticky Wholeframe bar is only at the top.
01 — The fold is a fiction
People still say “above the fold” as if a page ended at the bottom of a laptop. It doesn’t. A recipe, a paper, a changelog, a thread: the useful part is often the part you had to scroll to.
02 — One file, not a filmstrip
A folder of viewport shots is a chore to reassemble. One PNG is something you can paste into a doc, attach to a bug, or file with the rest of the evidence.
03 — Inner scrollers
Some apps scroll a panel instead of the document. When that panel fills most of the window, Wholeframe scrolls the panel and crops to it. Ordinary pages use the document.
04 — Scrollbars
A scrollbar eats a dozen pixels and shifts the layout when it appears. During capture the scrollbar is hidden, then restored, along with your original scroll position.
05 — Smooth scroll
Sites that animate scrolling would land between slices. Wholeframe forces scroll-behavior: auto for the capture and puts the page back afterwards.
06 — The last slice
If the height is not a multiple of the window, the last move stops at the bottom. The part already captured is cropped off. That is the whole trick.
07 — What it will not do
It will not capture a cross-origin iframe’s offscreen contents beyond what is painted. It will not bypass Chrome’s blocked pages. It will not upload the picture.
08 — After you download
PNG keeps the capture sharp. JPEG is there when a smaller file matters. Copy puts the image on the clipboard so you can paste it without a trip through the downloads folder.