Chrome can already do this, and almost nobody knows
Before installing anything, try the built-in capture. Chrome has shipped it inside DevTools for years and it is genuinely good.
- Open the page you want.
- Press
Ctrl+Shift+I(Cmd+Option+Ion macOS) to open DevTools. - Press
Ctrl+Shift+P(Cmd+Shift+P) to open the command menu. - Type
screenshotand choose Capture full size screenshot.
Chrome renders the entire document height in one pass and saves a PNG to your downloads folder. Because it renders rather than scrolls and stitches, there are no seam lines and no repeated headers.
For a large share of pages that is the whole answer. The reason people reach for extensions is that on modern sites, this method fails in four specific and predictable ways.
---
Why your full-page capture comes back broken
Lazy-loaded images never load. Images marked loading="lazy" only fetch when they approach the viewport. A capture that renders the full height without scrolling through it can serialise before those requests finish, so you get a tall image with grey placeholder rectangles where the photos should be. Scrolling slowly to the bottom first, then capturing, fixes most cases.
Sticky and fixed elements land in one place. A position: fixed header renders once, wherever it sits at capture time - usually pinned across the top. That is correct behaviour, and it is also why scroll-and-stitch tools produce the opposite failure: the same navbar repeated every viewport-height down the image. Neither result is what you wanted if the header was covering content.
Virtualised lists only contain what is rendered. Any app using windowing - React Virtuoso, TanStack Virtual, most large data tables - keeps only the visible rows in the DOM. There is no "full height" to capture, because the other ten thousand rows do not exist until you scroll. No screenshot tool of any kind can capture what was never rendered.
Cross-origin iframes come out blank. Embedded content from another origin is subject to the same-origin policy. Payment widgets, some video players, and third-party embeds frequently render as empty boxes.
There is a fifth, quieter one: pages taller than roughly 16,384 pixels can hit canvas size limits in the browser and come back truncated or blank. Very long documentation pages and infinite-scroll feeds are the usual culprits.
---
Which method to reach for
| Method | Handles lazy images | Fixed headers | Annotate before sharing | Cost |
|---|---|---|---|---|
| DevTools full size capture | Only if pre-scrolled | Renders once | No | Free, built in |
| Scroll-and-stitch extension | Usually yes | Often repeated | Varies | Free to paid |
| Rendering capture extension | Usually yes | Renders once | Usually yes | Free to paid |
| `--headless --screenshot` CLI | Needs a wait flag | Renders once | No | Free, scriptable |
The command line option is worth knowing if you are capturing the same page repeatedly. Chrome accepts --headless --screenshot --window-size=1280,900 and a URL, which makes page captures scriptable in CI - useful for visual regression checks or generating documentation images on a build.
For interactive work, the practical difference is whether you need to mark the image up afterwards. If a capture is going into a bug report, a support ticket, or a client review, the annotation step is where the time actually goes.
---
Capturing one element instead of the whole page
Full-page is often more than you need. A bug report showing one broken button inside a 6,000-pixel page makes the reviewer hunt for it.
DevTools can capture a single node: select the element in the Elements panel, open the command menu, and choose Capture node screenshot. It captures that element's box exactly, which is precise but fiddly for anything but a developer.
Region capture - dragging a rectangle over the part you care about - is the faster path for everyday use, and it is what ScrollShot Pro provides alongside full-page and visible-area modes, with Alt+Shift+S to start a capture without touching a menu.
---
Redact before you share, not after
This is the step most people skip, and it is the one with real consequences. Screenshots taken from a logged-in session routinely contain a real customer name in the account menu, an email address in a header, an internal ticket ID, a staging URL, or a session token visible in a query string.
Two things matter here. Blur or draw a solid box before the image leaves your machine - once it is pasted into a shared channel, an edit does not recall the copies people have already seen. And be aware that pixelation is reversible for short, predictable strings; a solid opaque box is not. For anything security-relevant, cover it rather than blur it.
It is also worth knowing where a capture tool stores its images. ScrollShot Pro keeps them in local IndexedDB with no automatic upload, which means a screenshot of an internal dashboard stays on the machine that took it. Any tool that syncs captures to a cloud account by default deserves a look at its privacy policy before you point it at an admin panel.
---
PNG, JPEG, WebP or PDF
PNG is lossless and the correct default for UI. Text stays crisp and flat colour regions compress well. It is also the largest file.
JPEG is lossy and wrong for screenshots of text - it introduces ringing artefacts around high-contrast edges, which is exactly what a UI screenshot is made of. Use it only for captures dominated by photographs.
WebP is the pragmatic middle: noticeably smaller than PNG at visually indistinguishable quality for UI, and supported everywhere that matters in 2026. If you are attaching many screenshots to a ticket system with an upload limit, this is the one.
PDF is not an image format and that is the point. Use it when the capture is going to a client, needs to print predictably, or when several captures should travel as one document.
---
Frequently Asked Questions (FAQ)
Why does my full page screenshot only capture the visible part?
Almost always because the page uses virtualised rendering or an internal scroll container rather than the document scrolling. If the scrollbar belongs to a div and not the window, the browser's idea of "full page" is just the viewport. Capturing the element instead of the page usually works.
How do I stop the sticky header repeating down the image?
Repeated headers are a symptom of scroll-and-stitch capture. Either use a tool that renders the full document in one pass - the DevTools method does this - or hide the header in DevTools before capturing by setting its display to none in the Styles panel.
Can I take a full page screenshot on mobile Chrome?
Not natively at full document height. Android Chrome offers a scrolling screenshot through the system share sheet on many devices, which stitches viewports. For an exact capture, connect the phone to a desktop over USB and use remote debugging, which gives you the same DevTools capture commands against the mobile page.
Why is my screenshot blurry on a high-DPI display?
Captures are taken at the device pixel ratio, so a Retina capture is physically larger and looks sharp at 100%. Blurriness usually comes from the image being downscaled on upload or displayed at a size other than its native dimensions, rather than from the capture itself.
Is there a size limit on how tall a page can be?
In practice, yes. Browser canvas limits sit around 16,384 pixels in each dimension. Beyond that, captures may truncate or return blank. Splitting a very long page into two or three captures is more reliable than fighting the limit.
Do screenshot extensions upload my images?
Some do, some do not, and the difference matters if you are capturing internal tools. Check whether the extension stores captures locally or syncs them to an account. ScrollShot Pro stores captures in local IndexedDB and does not upload them automatically.
---
The short version
Try the DevTools method first - it is free, already installed, and produces clean seamless output. Reach for a dedicated tool when you need region capture, annotation, redaction, or a format other than PNG. Whichever route you take, scroll to the bottom of the page before capturing so lazy images load, and redact before the file leaves your machine rather than after.
If annotation and redaction are the parts you keep needing, ScrollShot Pro handles full-page, region and visible-area capture with an editor for markers, highlighting, blur and redaction, and exports to PNG, JPEG, WebP or PDF.