What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For a 2× retina screenshot, set the browser’s device scale factor to 2 and make sure the screenshot output uses device pixels rather than CSS pixels. These are separate settings in Playwright; screenshot APIs may expose them differently, so use the parameter and output behavior documented for the service you choose.
What the device scale factor changes
A device scale factor represents the device pixel ratio used for browser rendering. At a factor of 2, a viewport that is 375 by 667 CSS pixels can render at 750 by 1,334 device pixels when the output is captured at device scale. That gives the image more pixels for the same CSS layout; it does not make the webpage’s CSS viewport larger.
As an Amazon Associate I earn from qualifying purchases.
In Playwright, the context’s deviceScaleFactor and screenshot’s scale are distinct controls. scale: "css" produces one output pixel per CSS pixel; scale: "device" produces one output pixel per device pixel. If you raise the context factor but capture at CSS scale, the resulting image may not have the higher pixel dimensions you expect. See Playwright’s screenshot reference and browser context options.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesSet a retina factor in Playwright
Configure the factor when creating the browser context, then request device-scale output in the screenshot call. This complete Node.js example saves a PNG for a 375-by-667 CSS-pixel viewport at 2×:
#1 Best Overall
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch();
const context = await browser.newContext({
viewport: { width: 375, height: 667 },
deviceScaleFactor: 2,
});
const page = await context.newPage();
await page.goto('https://example.com', { waitUntil: 'networkidle' });
await page.screenshot({ path: 'retina.png', scale: 'device' });
await browser.close();
})();
Replace the example URL with the page you need. For a full-page capture, add fullPage: true to page.screenshot(). If you only need the normal CSS-pixel dimensions, use scale: "css" instead. Playwright notes that device-scale screenshots can be twice as large or larger, so account for the output file’s dimensions and memory use.
Configure hosted screenshot APIs carefully
There is no universal screenshot API parameter name or range. Check whether the service expects the factor as a viewport setting, request option, or session/context configuration, and whether it outputs CSS or device pixels. Do not assume that a setting named deviceScaleFactor guarantees a 2× file unless the API documents that output behavior.
Rank #2
- HTML CSS Design and Build Web Sites
- Comes with secure packaging
- It can be a gift option
Browserless REST Screenshot API
Browserless documents a POST request to /screenshot with a JSON body containing the URL and an options object. Its screenshot documentation describes viewport size and device scale factor among the supported options. The separate ViewportOptions reference names deviceScaleFactor and says it defaults to 1. Use the current endpoint’s OpenAPI reference to confirm the precise request schema for your Browserless API version.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Browserless also documents a GraphQL viewport mutation that accepts width, height, and deviceScaleFactor; its mobile example uses a 375-by-667 viewport and explicitly supplies the factor. Refer to the Browserless viewport documentation for the applicable request format. These examples describe configuration, not guaranteed dimensions for every endpoint or page.
Rank #3
Other providers and command-line tools
- ScreenshotAPI’s reference lists
deviceScaleFactorfrom 1 to 5 and separately describes rendering scale ascssordevice. Verify how the two interact in the current API before relying on a particular output size. - shot-scraper provides a tool-specific
--retinaoption that uses device scale factor 2. That flag is not a general parameter shared by screenshot APIs.
How to verify the result
- Choose the CSS viewport dimensions you actually need; do not double those dimensions just to get a 2× image.
- Set the device scale factor to
2in the context or request configuration documented by your tool. - Choose device-pixel output if the API offers an output-scale setting and you want twice the pixel width and height.
- Inspect the saved image’s pixel dimensions. For a 375-by-667 CSS viewport at 2×, a viewport-sized capture should be 750 by 1,334 pixels, subject to the tool’s documented behavior and any full-page setting.
- If the dimensions remain at the CSS viewport size, check whether the screenshot was captured at CSS scale or whether the provider applies the factor elsewhere.
Troubleshooting retina captures
- Image dimensions did not increase: In Playwright, check that
deviceScaleFactoris set on the browser context andscale: "device"is set on the screenshot. In a hosted API, confirm its output-scale behavior rather than assuming the factor alone controls the file. - The image is unexpectedly large: Device-scale output multiplies pixel dimensions in both directions. A 2× width and 2× height means four times as many pixels as a 1× image; use CSS scale if you need CSS-sized output.
- The API rejects the setting: Check the exact spelling, accepted range, nesting, and endpoint version in that provider’s reference. Names and ranges differ; ScreenshotAPI, for example, documents 1 to 5.
- The result looks different from a physical phone: A device scale factor changes pixel density emulation, not every aspect of a real device. Set viewport dimensions and any other supported device emulation options separately.
Or skip the browser setup
ScreenshotNeo accepts a retina scale option alongside its screenshot parameters. Use the API to request a 2× capture; consult the ScreenshotNeo documentation for the current parameter names and output options.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -d scale=2 -o shot.webp
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response reports the page verdict and billing status. Its MCP server gives AI agents screenshot tools, and 1,000 screenshots a month are free with no card; paid plans start at $5 for 3,000.
Sign up free for 1,000 screenshots a month—no card required.
PC 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 & 11Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteRank #4
- Brand: Wiley
- Set of 2 Volumes
- A handy two-book set that uniquely combines related technologies Highly visual format and accessible language makes these books highly effective learning tools Perfect for beginning web designers and front-end developers
Frequently Asked Questions
Does a retina capture require a physical accessory?
No. The cited browser, API, and command-line documentation describes this as a software configuration.
Quick Recap
Best Value
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.




