Recommended Free Tools
If a BackstopJS full-page screenshot looks clipped, stretched, or misaligned, first verify what the scenario is capturing: document captures the whole document, while viewport captures only the configured viewport. Compare both before changing page CSS or assuming the browser engine is at fault. BackstopJS documents that the selector defaults to document when omitted (BackstopJS README).
1. Confirm the capture target
Check the scenario’s selector setting. When it is omitted, BackstopJS defaults to document, which targets the whole document. Set it to viewport when the comparison should cover only the configured viewport. These modes show different areas of a page, so a difference in output is not automatically a clipping defect.
As an Amazon Associate I earn from qualifying purchases.
Reproduce the issue using the same viewport dimensions in both modes. If the viewport result looks right but the document capture does not, inspect page layout behavior that depends on viewport height before altering the screenshot configuration.
2. Check viewport-dependent layout
Sections styled with height: 100vh can behave unexpectedly in full-size captures. In BackstopJS issue #820, a user reported that a 100vh hero appeared unusually large in a full-size screenshot compared with successive viewport captures (issue #820). This is a reported failure mode, not a universal explanation for clipped captures.
#1 Best Overall
- Carefully designed questions: Ensuring a solid understanding of concepts
- Engaging activities: Offering a mix of enjoyable exercises
- Problem-solving techniques: Providing strategies for tackling challenges
- Vibrant, full-color visuals: Enhancing learning with captivating illustrations
- Compare the same scenario and viewport in
documentandviewportmodes. - Inspect sections sized in
vhunits, sticky elements, and layout rules that react to viewport dimensions. - Record the configured viewport and the installed BackstopJS, engine, and browser versions so a change can be reproduced accurately.
3. Try the stitched capture path only when it fits the symptom
If the default full-page capture loses hover or other scenario state, test mergeImgHack: true. The BackstopJS Playwright fork documents this alternate path as capturing multiple screen areas and stitching them without rerendering (BackstopJS Playwright fork).
This option is documented by a fork, not established here as available or identical in every BackstopJS release. Confirm that your installed configuration recognizes it, then compare the result with the default capture. It may help with state loss; the documentation does not promise to fix every clipping or alignment problem.
Rank #2
- Dual Functionality: Our Pocket Eye Chart set includes both the 2 eye charts, offering a versatile solution for measuring visual acuity at a distance and in limited spaces. This 2-in-1 design caters to various vision testing needs
- Compact and Convenient: Sized at 6.5*3.5 inches, these pocket eye charts are designed for portability. Whether you're a professional optometrist, student, or need a handy tool for vision tests on the go, our compact pocket eye chart set fits conveniently in your pocket
- Color Vision Test: The eye chart features Red and Green color bars, providing an easy and helpful color vision test. This additional feature enhances the versatility of our pocket eye chart set, making it suitable for a range of vision examinations
- Durable and Washable: Crafted from durable plastic, our pocket eye charts are built to last. The washable material ensures easy maintenance and hygiene, making them ideal for repeated use in optometry practices, schools, and offices
- Pupil Gauge and Non-Reflective:The plastic pocket eye chart includes a pupil gauge, adding practicality to vision examinations. The non-reflective surface ensures accurate readings. This set is a reliable tool for professionals and a handy resource for quick vision assessments
4. Verify that the page is actually ready
A readiness selector confirms that a matching element exists, not necessarily that its image data or application content has finished loading. A BackstopJS issue reports missing images even when readySelector matched an img element (image readiness issue).
- Use an application-specific ready condition that reflects when the content under test is usable.
- For images, check completion or loaded image data rather than only the presence of an
imgnode. - Wait for animations or transitions when they affect the captured state; avoid adding arbitrary delays without confirming they address the observed timing problem.
The issue does not establish a universal image-wait recipe. The right condition depends on how the page loads its content.
Rank #3
5. Check nested scrolling and fixed overlays
When the missing area belongs to an inner scroll region, scrolling the window may not reveal it. BackstopJS issue #765 describes fixed overlays obscuring content because the window was scrolled instead of the inner container (issue #765).
Identify the element that actually scrolls, bring the target into view within that container, and verify that overlays are not covering it. The README documents scrollToSelector for bringing an element into view (BackstopJS README), but that alone does not establish support for every custom scrolling arrangement.
Rank #4
- Creating calmer and happier mornings and bedtimes for the whole family by showing your child what they need to do to get ready.
- Encourages independence and therefore boosts self esteem as children are no longer dependent on you reminding them what comes next.
- Allows for processing time - the pictures, or pecs cards for autism, don't disappear like words do and therefore these are great for children with special educational needs, autism, ADHD, speech and language delay, ASD.
- Eliminates the need for you to nag - children can see what they need to do for themselves in this routine chart.
- Pictures cards can be moved around thanks to being attached using VELCRO Brand hook and loop, meaning you can order the routine to suit your family.
6. Treat Puppeteer workarounds as version-specific experiments
For capture offsets or transition artifacts under Puppeteer, one issue commenter reported success after serializing screenshot calls and passing captureBeyondViewport: false in a patched BackstopJS 5.3.4 CI setup (Puppeteer issue report). This is a report from a patched setup, not a generally supported setting or guaranteed fix.
Free tools Windows power users keep installed
One-click scans. No signup required.
- Build a small reproduction with the same page, viewport, and capture sequence.
- Test serialized capture calls and
captureBeyondViewport: falseonly if your setup can apply that option. - Compare before and after, and record exact BackstopJS, Puppeteer, browser, and viewport versions.
7. Troubleshooting by symptom
| Symptom | First check | Next step |
|---|---|---|
| Only the visible window appears | Scenario selector | Use document for the whole document; use viewport for the configured viewport. |
A 100vh section changes size |
Compare document and viewport captures at identical dimensions | Inspect viewport-dependent CSS; the issue report describes one such failure, not all cases. |
| Hover or interaction state disappears | Default full-page capture behavior | Check whether the installed version supports the fork’s mergeImgHack path and test it. |
| Images are absent or incomplete | Whether readiness checks only element presence | Wait for actual image completion or an application-specific ready state. |
| Content is obscured or out of view | Which element scrolls and whether a fixed overlay covers it | Scroll the inner container as needed and verify the target’s visibility. |
| Offsets or transition artifacts under Puppeteer | Exact engine and browser versions; concurrent capture calls | Reproduce the reported serialization and option workaround in a controlled test only. |
Or skip the browser setup
For a screenshot through an API, ScreenshotNeo accepts a URL in one GET request. Its capture flow accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks and CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and responses identify the page verdict and billing status in headers. An MCP server provides take_screenshot, get_page_info, and capture_pdf for AI agents and MCP clients.
Example cURL call, adapted to the page you need to capture (see the ScreenshotNeo API documentation):
Best Value
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo offers 1,000 screenshots per month free without a card; paid plans start at $5 for 3,000 shots. Learn about ScreenshotNeo or sign up for the free plan.
Frequently Asked Questions
Does BackstopJS default to a full-page screenshot?
Its README says the selector defaults to document when omitted; viewport targets only the configured viewport.
Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchPC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Does mergeImgHack fix every clipped full-page capture?
No. The BackstopJS Playwright fork documents it as an alternate stitched capture path, but it does not promise a fix for every clipping or alignment defect.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




