October DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix NowOctober DealsAmazon USDeal season is back - check today's better picksAmazon US: current deals, useful picks and tech finds.See Picks×
Skip to content
Chrome DevTools

How to Capture Website Screenshots in a Mobile Viewport

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To capture a website in a phone-sized browser view, use Chrome DevTools Device Mode or Firefox Responsive Design Mode for a one-off image. Choose a device preset or exact dimensions, load the page, and save either the visible viewport or the entire scrollable page. For repeatable captures, Playwright can emulate a mobile device and write PNG, JPEG or WebP files in code. Remember that emulation is a desktop approximation, not proof of behavior on physical phone hardware.

Decide what kind of mobile screenshot you need

Before choosing a tool, define two independent properties: the viewport and the capture extent.

Viewport versus real phone hardware

A mobile viewport screenshot shows how a page lays out at selected CSS dimensions. It is excellent for responsive design reviews, documentation and visual regression checks. It does not execute the page on a phone. Chrome describes Device Mode as a “first-order approximation of how your page looks and feels on a mobile device”; desktop hardware, browser implementation and mobile CPU behavior are not fully simulated. Use an actual device when touch behavior, performance, sensors, browser-specific bugs or hardware-dependent code matter.

Visible viewport versus full page

  • Viewport capture: saves only what is currently visible inside the emulated screen. Use it for a hero section, navigation state or a realistic phone-screen image.
  • Full-page capture: extends the image through the page’s scrollable content. Use it for design review, archival references or a long landing page.

These are different outputs even when the width is identical. In Chrome, choose Capture screenshot for the visible area and Capture a full size screenshot for the complete page. In Playwright, the equivalent is fullPage: true.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Motorola Moto g - 2026 | Unlocked | Made for US 4/128GB | 50MP Camera | Pantone Slipstream, Cellular_Phone
  • Universal unlocked. Compatible with all major U.S. carriers, including Verizon, AT&T, T-Mobile and other prepaid carriers.
  • Super-bright, super-smooth 6.7" display. See your screen clearly even outdoors in sunlight, and enjoy seamless views with a fast-refreshing 120Hz display.*
  • AI-powered camera system. Take stunning photos in any light with the 50MP camera**, look your best with a 32MP selfie cam*****, and capture extreme close-ups.
  • Superfast 5G performance. Unleash your entertainment at 5G speed*** with the MediaTek Dimensity 6300 chipset and up to 12GB of RAM with RAM Boost****.
  • Long-lasting battery + TurboPower charging. Power through day after day with a 5200mAh battery, then get hours of power in just minutes.****

Capture a mobile viewport screenshot in Chrome

Chrome DevTools is the quickest method when you need one or a few images and can operate the page manually.

  1. Open the target URL in Chrome.
  2. Open DevTools with F12, Ctrl+Shift+I on Windows/Linux, or Cmd+Option+I on macOS.
  3. Click Toggle device toolbar, or press Ctrl+Shift+M (Windows/Linux) or Cmd+Shift+M (macOS). Device Mode starts with Responsive dimensions.
  4. Open the Dimensions menu and select a phone preset. Alternatively, enter an exact width and height. Rotate the emulated screen when a landscape image is required.
  5. Set device pixel ratio (DPR) or device type when those values are relevant to your test. A custom device can store its name, width, height, DPR, user agent and device type.
  6. Refresh the page at the chosen dimensions. Wait for fonts, images and dynamic content, then put the page in the state you want to document: for example, open a menu or scroll to a component.
  7. Open the DevTools More options menu and select Capture screenshot for the visible viewport, or Capture a full size screenshot for the whole scrollable page. Chrome downloads the image.

Choosing dimensions and DPR

Use a named preset when you are checking a known device profile. Use custom dimensions when your product specification, breakpoint or test matrix calls for an exact CSS width and height. DPR changes the relationship between CSS pixels and physical image pixels; it can expose raster-image issues, but it does not turn the desktop browser into phone hardware. Keep the same dimensions and DPR across repeated reviews so visual differences are meaningful.

Capturing a specific state

Responsive captures include the current browser state. Dismiss or accept consent prompts, sign in if required, open menus and wait for lazy content before saving. If a sticky header or chat control obscures the element under review, change the page state rather than cropping afterward; a crop hides the problem instead of testing the layout that users see.

Capture with Firefox Responsive Design Mode

Firefox provides a comparable workflow with additional controls for touch and approximate network conditions.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open Firefox’s Browser Tools or Developer Tools menu and start Responsive Design Mode. The shortcut is Ctrl+Shift+M on Windows/Linux or Cmd+Option+M on macOS.
  2. Select a listed device or edit the width and height fields. Change orientation when needed.
  3. Set DPR, user-agent and touch support when the scenario requires them. A custom device can save screen size, DPR, user agent and touch settings.
  4. Reload the page and prepare the exact state to capture.
  5. Click the camera button. Firefox saves the screenshot to its default download location; Firefox can also be configured to copy captures to the clipboard.

Responsive Design Mode can simulate touch input and approximate network throttling. Those controls help you inspect responsive behavior, but they remain simulations and should not replace a test on the target phone.

Rank #2
Sale
Samsung Galaxy A17 5G Smart Phone 128GB US 1 Yr Manufacturer Warranty Black
  • YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
  • LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
  • MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
  • NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
  • BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.

Automate mobile screenshots with Playwright

Use Playwright when captures must be repeatable, run across several viewport profiles, execute in CI, or cover multiple URLs. Install it in a Node.js project with npm install playwright, then install the browser binaries as required by your project setup.

Use a predefined device profile

const { chromium, devices } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const context = await browser.newContext({
    ...devices['iPhone 13']
  });
  const page = await context.newPage();
  await page.goto('https://example.com', { waitUntil: 'networkidle' });
  await page.screenshot({ path: 'mobile-viewport.png' });
  await browser.close();
})();

page.screenshot() captures the visible page by default. The device descriptor supplies a viewport, screen settings, user agent and touch capability. Predefined descriptors assume a particular platform; override the user agent or other fields if that assumption does not match the browser you are modeling.

Use an explicit viewport

const { chromium } = require('playwright');

(async () => {
  const browser = await chromium.launch();
  const context = await browser.newContext({
    viewport: { width: 390, height: 844 },
    deviceScaleFactor: 3,
    isMobile: true,
    hasTouch: true
  });
  const page = await context.newPage();
  await page.goto('https://example.com', { waitUntil: 'networkidle' });
  await page.screenshot({ path: 'phone-390x844.webp', type: 'webp', scale: 'css' });
  await browser.close();
})();

An explicit viewport is useful when your requirement is a known CSS width and height rather than a named handset. Set only the emulation properties that matter: adding a mobile user agent, touch support or a device scale factor can change page behavior and should be intentional.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Capture the full scrollable page

await page.screenshot({
  path: 'mobile-full-page.png',
  fullPage: true,
  type: 'png',
  scale: 'css'
});

fullPage: true captures content beyond the visible viewport. The screenshot API supports PNG, JPEG and WebP. With scale: 'css', one output pixel represents one CSS pixel; scale: 'device' uses device pixels and can produce a larger high-DPI file.

Rank #3
Samsung Galaxy A16 5G 128GB Cell Phone, Unlocked Android Smartphone, Large AMOLED Display, Durable Design, Super Fast Charging, Expandable Storage, US Version, 2025, Blue Black (Renewed)
  • Charger NOT Included, 6.7" Super AMOLED FHD+, 90Hz Refresh Rate, 385 ppi, 800 nits (HBM), 1080x2340px, 5000mAh Battery
  • 128GB, 4GB RAM, microSDXC, Exynos 1330 (5nm), Octa-Core, Mali-G68 MP2 or Mali-G57 MC2 GPU
  • Rear Camera: 50MP, f/1.8 (wide) + 5MP, f/2.2 (ultrawide) + 2MP, f/2.4 (macro), LED flash, panorama, HDR; Front Camera: 13MP, f/2.0, Android 14, up to 6 major Android upgrades, One UI 6.1
  • 3G: HSDPA 850/900/1700(AWS)/1900/2100; 4G LTE: 1/2/3/4/5/7/12/13/14/20/25/26/28/29/30/38/39/40/41/48/66/71, 5G: 2/5/25/41/66/71/77/78 SA/NSA/Sub6/mmWave - Nano-SIM + eSIM
  • US Model – Global Connectivity – Compatible with Most GSM Carriers like T-Mobile, AT&T, MetroPCS, etc. Will Also work with CDMA Carriers Such as Verizon, Straight Talk.

Wait for content that appears after navigation

networkidle can be useful for pages that finish loading after several requests, but pages with analytics or long-lived connections may never become idle. In that case, wait for a meaningful selector or a bounded delay:

await page.goto('https://example.com');
await page.locator('main').waitFor();
await page.waitForTimeout(500);
await page.screenshot({ path: 'ready.png' });

For deterministic tests, prefer a selector that represents the content you need over an arbitrary long delay. If images are lazy-loaded, scroll or trigger the page’s loading behavior before a full-page capture, then verify that the resulting image contains them.

Make captures comparable and useful

Decision Recommended practice Why it matters
Device selection Use a named preset for a device-oriented review; use explicit width and height for breakpoint tests. Presets bundle assumptions, while explicit dimensions isolate the viewport requirement.
Image extent Visible viewport for a phone-screen representation; full page for document-style review. A full-page image is not evidence of what fits on one screen.
Pixel scale Use CSS scale for stable dimensions; device scale for a high-DPI deliverable. Scale changes output size without changing the CSS layout.
Page state Record whether consent, menus, authentication and dynamic data were present. Different states can produce different pixels at the same viewport.

Common problems and fixes

The image is desktop-shaped

Confirm that the device toolbar is enabled and that the page was reloaded after changing dimensions. In Playwright, verify that viewport is set on the browser context, not after the page has already been created.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The screenshot is blank or missing images

Wait for a meaningful content selector, check the page’s console and network errors, and allow lazy-loaded images to appear before capture. A full-page screenshot taken immediately after navigation can outrun client-side rendering.

Rank #4
Samsung Galaxy A17 5G Smart Phone 128GB, US 1 Yr Manufacturer Warranty Blue
  • YOUR CONTENT, SUPER SMOOTH: The ultra-clear 6.7" FHD+ Super AMOLED display of Galaxy A17 5G helps bring your content to life, whether you're scrolling through recipes or video chatting with loved ones.¹
  • LIVE FAST. CHARGE FASTER: Focus more on the moment and less on your battery percentage with Galaxy A17 5G. Super Fast Charging powers up your battery so you can get back to life sooner.²
  • MEMORIES MADE PICTURE PERFECT: Capture every angle in stunning clarity, from wide family photos to close-ups of friends, with the triple-lens camera on Galaxy A17 5G.
  • NEED MORE STORAGE? WE HAVE YOU COVERED: With an improved 2TB of expandable storage, Galaxy A17 5G makes it easy to keep cherished photos, videos and important files readily accessible whenever you need them.³
  • BUILT TO LAST: With an improved IP54 rating, Galaxy A17 5G is even more durable than before.⁴ It’s built to resist splashes and dust and comes with a stronger yet slimmer Gorilla Glass Victus front and Glass Fiber Reinforced Polymer back.

The full-page image is unexpectedly long

This is expected when fullPage: true is used or Chrome’s full-size command is selected. Switch to a normal viewport capture when the deliverable must look like one phone screen.

Text or images look too large

Check DPR and Playwright’s scale. Device-pixel output can have more physical pixels even though CSS dimensions are unchanged. Compare captures using the same scale setting.

A mobile-only menu does not appear

Viewport width alone may not trigger every condition. Check whether the page also tests user agent, touch capability or orientation. Add only the relevant Playwright context settings, then reload.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The result does not match a physical phone

That is a limitation of emulation. Validate touch gestures, performance, sensors, browser-specific rendering and CPU-sensitive code on the actual phone and browser version.

Best Value
Tracfone Motorola Moto G 2025, 64GB, Saphire Blue (Locked to
  • Carrier: This phone is locked to Tracfone, which means this device can only be used on the Tracfone wireless network. Tracfone plan required, activating is easy, just 3 steps.
  • DISPLAY: Immersive viewing on a 6.7-inch super-bright 120Hz display with powerful stereo speakers and Bass Boost for cinematic entertainment.
  • CAMERA SYSTEM: Advanced 50MP Quad Pixel camera captures sharp, detailed photos and videos in any lighting condition
  • PERFORMANCE: Lightning-fast 5G connectivity paired with a powerful processor and RAM Boost for smooth multitasking.
  • BATTERY LIFE: Long-lasting 5000mAh battery with TurboPower charging technology delivers hours of power in minutes.

Firefox saves somewhere unexpected

Check Firefox’s download settings and default download directory. If you need a handoff without a file attachment, configure the camera tool to copy the image to the clipboard.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

ScreenshotNeo provides a website screenshot API and MCP server. One request can render a URL as PNG, JPEG, WebP or PDF, with mobile dimensions and the other capture options supplied as parameters. The API accepts the parameter names used by other screenshot services, which can simplify migration.

cURL:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

See the ScreenshotNeo documentation for viewport and capture parameters. Before capture, it accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each cleanup step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server exposes take_screenshot, get_page_info and capture_pdf for Claude, Cursor and other MCP clients. The Free plan includes 1,000 shots per month without a card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to start.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Performance, reliability and cost considerations

Manual DevTools captures have no service-per-image cost and are efficient for occasional review, but the result depends on the operator, browser state and local machine. Playwright adds installation and runtime work, yet gives you versioned scripts, repeatable settings and batch execution. For either approach, wait for the content that matters rather than an unnecessarily long fixed delay, and keep viewport, DPR, browser version and page state recorded with the image.

When captures run in a build pipeline, save failures separately from valid images, retry transient navigation errors with a limit, and log the URL, viewport, full-page flag and output format. A screenshot that completed technically but omitted a required component is a content failure, not a successful test.

FAQ

Can I call a mobile viewport screenshot a screenshot from an iPhone?

No. If it was produced in DevTools or Playwright, describe it as an emulated iPhone or mobile viewport capture. Reserve “taken on an iPhone” for an image captured on that physical device.

Should I use a device preset or custom dimensions?

Use a preset when you want a recognizable device profile. Use custom dimensions when validating a breakpoint, design specification or fixed embed size.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which format should I choose?

PNG is lossless, JPEG is compact for photographic content, and WebP offers a modern compressed option. Choose based on where the image will be stored or displayed, then keep the format consistent for comparisons.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read next

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
PC Slower Than It Used to Be?Free scan - under a minute

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.