Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
Use Chrome DevTools Device Mode for a quick mobile-size screenshot. Enter a responsive width and height or select a device preset, then choose More options → Capture screenshot. For repeatable captures, use ChromeDriver or Playwright with explicit viewport settings. When browser-engine, touch, sensor, keyboard, or hardware behavior matters, verify the result on a real phone or a real-device cloud service.
Choose the capture method by what you need to prove
| Method | Best for | What it cannot prove |
|---|---|---|
| Chrome DevTools Device Mode | Fast, free, manual checks and one-off images | Identical behavior on a physical phone; it is an approximation |
| ChromeDriver mobile emulation | Scripted Chrome screenshots and CI jobs | Other browser engines or hardware behavior |
| Playwright | Repeatable captures across Chromium, Firefox and WebKit, with device descriptors | Every detail of a particular physical device |
| Responsive-testing service | Comparing several viewports side by side and capturing them together | Service catalog, pricing and availability can change |
| Real device or real-device cloud | Safari/iOS, Android WebView, touch, sensors, keyboards and performance | Usually requires more setup or budget |
A screenshot is a record of a selected CSS viewport. It is not evidence that the page behaves identically on every handset. Keep the URL, viewport width and height, device scale factor, browser engine, orientation and emulated-versus-real status with every image.
Take a mobile screenshot manually in Chrome
- Open the page in Chrome.
- Open DevTools with F12 or Ctrl+Shift+I (Windows/Linux), or ⌘+Option+I (macOS).
- Activate the device toolbar with Ctrl+Shift+M or ⌘+Shift+M.
- Use the toolbar’s device selector for a preset, or choose Responsive and type the exact CSS Width and Height. Change orientation when needed.
- Set the device pixel ratio (DPR) if your check depends on density. A screenshot’s pixel dimensions can be larger than its CSS viewport when DPR is above 1.
- Reload after changing user-agent or device settings. Interact with the page until it is in the state you want to document.
- Open the device-toolbar More options menu and select Capture screenshot. For a page-length image, use the full-page capture command when it is available in your Chrome version.
What Device Mode actually emulates
Chrome describes Device Mode as a “first-order approximation” of how a page looks and performs on a mobile device. It changes viewport metrics, input emulation and, for selected presets, the user agent. It does not run the page on the phone’s CPU, operating system or browser build. Emulator coverage also does not reproduce every mobile API, CSS-support difference or browser behavior. Use the image for responsive layout work, not as a final compatibility certificate.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Capture custom sizes repeatedly with ChromeDriver
ChromeDriver’s mobileEmulation capability accepts either a named device or explicit device attributes. A named profile is convenient; explicit values are better for a stable visual-regression contract.
#1 Best Overall
- 100% LIFETIME PROTECTION: Enjoy reliable performance with lifetime coverage, guaranteeing your tripod is always protected against any defects or issues.
- Ultimate Materials & Engineerin: EUCOS's phone tripod utilizes modified Nylon PA6/6 for all-weather durability. The engineered polymer delivers exceptional crush/shear resistance and toughness, achieving optimal rigidity-flexibility balance.
- Rapid Extension Tripod for Phone: Glide the rod in a single, fluid motion to convert it from a compact tripod into a full 62" selfie stick. Achieve instant elevation for dynamic filming.
- Studio-Grade Phone Rig: Safely harness phones from 2.2" to 3.6" wide with pro-level clamping and effortless framing. Built-in cold shoe expands your creative options with lights and mics.
- Hands-Free Control: The Wireless remote enables instant pairing with smartphone and remote capture from up to 33ft/10m. Ensures rock-solid stability for blur-free photography and Start/Stop video recordings effortlessly—all without device contact.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_experimental_option("mobileEmulation", {
"deviceMetrics": {
"width": 390,
"height": 844,
"pixelRatio": 3.0,
"mobile": True
},
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1"
})
driver = webdriver.Chrome(options=options)
try:
driver.get("https://example.com")
driver.save_screenshot("phone-390x844.png")
finally:
driver.quit()
Pin the Chrome and ChromeDriver versions in CI, wait for the page’s meaningful state, and save the emulation settings beside the image. A named device profile can change when browser definitions change; explicit width, height, pixel ratio and user agent make the intent visible.
Use Playwright for multi-browser and CI screenshots
Playwright device descriptors combine a viewport, user agent, touch capability and device scale factor. You can start with a descriptor and override any value, or create a context from explicit settings.
import { chromium, firefox, webkit } from 'playwright';
const configs = [
{ name: 'small-phone', width: 320, height: 568, deviceScaleFactor: 2, isMobile: true, hasTouch: true },
{ name: 'large-phone', width: 430, height: 932, deviceScaleFactor: 3, isMobile: true, hasTouch: true },
{ name: 'tablet', width: 768, height: 1024, deviceScaleFactor: 2, isMobile: true, hasTouch: true }
];
const browser = await chromium.launch();
for (const c of configs) {
const context = await browser.newContext({ viewport: { width: c.width, height: c.height }, deviceScaleFactor: c.deviceScaleFactor, isMobile: c.isMobile, hasTouch: c.hasTouch });
const page = await context.newPage();
await page.goto('https://example.com', { waitUntil: 'networkidle' });
await page.screenshot({ path: `shot-${c.name}.png`, fullPage: true });
await context.close();
}
await browser.close();
For browser coverage, run the same configuration with firefox and webkit. A descriptor such as Playwright’s iPhone or Pixel profile supplies realistic defaults, but explicit overrides are preferable when a screenshot must remain pixel-comparable. Keep fonts, locale, timezone, animations, account state and network fixtures consistent; otherwise visual differences may be mistaken for responsive regressions.
Recommended Free Tools
Capture one element instead of the whole page
const card = page.locator('[data-testid="pricing-card"]');
await card.screenshot({ path: 'pricing-card.png' });
Element shots are useful for component documentation. Ensure the element is visible and stable first; lazy images, web fonts and transitions can otherwise produce incomplete captures.
Rank #2
- 62" Phone Tripod & Selfie Stick Combo: Extendable phone tripod for iPhone and Android, combining a tripod stand and selfie stick in one lightweight design for selfies, photos, videos, vlogging, live streaming, and family gatherings.
- Adjustable Height & 360° Rotation: The tripod extends up to 62 inches to support standing shots, group photos, video calls, and content creation. The 360° rotating phone holder allows vertical or horizontal shooting.
- Stable Phone Holder for Daily Recording: Designed for hands-free video recording, online meetings, tutorials, livestreams, and social content. The phone holder keeps your device positioned securely for clear, steady shots.
- Wide Compatibility with Phones and Cameras: Fits most smartphones from 2.8" to 5.7" wide and includes a universal 1/4" screw mount for compatible cameras, action cameras, webcams, and camcorders.
- Wireless Remote & Complete Kit: Includes 1 phone tripod/selfie stick, 1 universal phone holder, 1 adapter, and 1 wireless remote shutter. Backed by 12-month after-sales support for everyday shooting needs.
Capture several viewports at once
When the job is comparison rather than one image, a responsive-testing service can provide preset and custom resolutions, side-by-side views and capture controls. BrowserStack Responsive Testing documents this workflow. It is efficient for a matrix of widths, but it remains a service with its own browser catalog and account limits. For a small, deterministic matrix, Playwright is usually easier to version with your code.
Know when emulation is not enough
- Safari or iOS-only behavior: test Safari on real iOS hardware or a real-device service.
- Android WebView: use the target WebView version; desktop Chrome emulation is not equivalent.
- Touch and gestures: verify scrolling, long-press, drag and virtual-keyboard effects on hardware.
- Sensors, permissions and camera: emulators may expose different APIs or permission flows.
- Performance: a desktop CPU can hide slow JavaScript, memory pressure and image-decoding problems.
- CSS and browser-engine differences: run the relevant engine, not only Chromium.
Chrome’s guidance is direct: when in doubt, run the page on an actual mobile device. Record whether each screenshot came from emulation or hardware so reviewers do not confuse a layout check with compatibility evidence.
Make screenshots reliable in automation
Wait for the right state
Prefer a semantic condition such as a visible heading, product grid or application-ready marker. A fixed delay is a fallback, not proof that the page is ready. Wait for lazy-loaded images, fonts and charts, and disable CSS transitions during visual tests when motion is irrelevant.
Control the variables
- Use the same URL, login state, feature flags and test data.
- Fix viewport, DPR, orientation, locale, timezone and color scheme.
- Use a stable browser version and install identical fonts in CI.
- Block analytics or random third-party widgets when they are not part of the page under test.
- Use full-page capture only when the page height is stable; otherwise capture defined sections.
Handle responsive edge cases
Test just below and above each CSS breakpoint, not only popular phone presets. Include very narrow widths, landscape orientation, long translated strings, zoom or large text settings, and pages with horizontal overflow. Check sticky headers, fixed bottom navigation, safe-area padding and dialogs that depend on touch input.
Troubleshooting mobile screenshot failures
The screenshot is blank or only partly loaded
Wait for a page-specific ready selector, verify that the URL did not redirect to authentication, and inspect failed network requests. Lazy content may require scrolling before it is rendered. Capture after fonts and images report completion rather than immediately after navigation.
Rank #3
- 【Sturdy and Stable】: Made of premium aluminum alloy and stainless steel, Liphisy phone tripod with remote keeps your device stay securely in place for still shots and video recording.
- 【Multi-angle Shot】: With a max height of 64”, this tripod stand with a 210-degree rotation head and 360-degree rotation holder allows you to capture shots from any angle, catering to different photography needs.
- 【Wireless Remote Included】: Package includes a wireless remote that connects to your cell phone easily, making it a breeze to snap photos or video recordings.
- 【Height Adjustable】: The height of this cell phone tripod with remote can be adjusted from 17” to 64” and the easy lock mechanism makes it really easy to set up. It gives you an excellent vantage point for capturing photos and videos.
- 【Wide Application】: Compatable with different phone and camera, this tripod is great for photography and video recording, perfect for travel and home use.
The dimensions are unexpected
Separate CSS pixels from output pixels. A 390-pixel CSS width at DPR 3 can produce an image about 1,170 pixels wide. Confirm the automation framework’s viewport and device-scale-factor settings and check that the browser window is not constraining the viewport.
The mobile menu does not appear
Confirm the breakpoint is measured in CSS pixels, reload after changing emulation, and use the correct user agent if server-side markup varies by device. If the menu requires a tap, perform the tap in automation instead of assuming hover behavior.
Images differ between runs
Wait for lazy loading, freeze animations, stabilize remote data and use deterministic image fixtures. Font substitution is a frequent cause of line-wrap changes; install the required fonts in the runner.
It works in emulation but fails on a phone
Move the check to the affected engine or hardware. Investigate touch events, viewport meta behavior, safe-area insets, WebView restrictions, permissions, sensors and CPU or memory pressure. Do not label the emulated image as proof of real-device support.
Rank #4
- [Versatile Design] RISEOFLE 71'' Phone Tripod and Selfie Stick combo is the perfect accessory for all your cell phone photography needs.The high-quality aluminum alloy telescopic pole allows you to extend effortlessly and smoothly, and turns into a tripod with just one pull. Its sturdy yet lightweight design provides stability and reliability, ensuring that your phone or camera stays safe during use. Ideal for Selfies/Live/Video Recording/Travel
- [Extra Tall 71" Adjustable Phone Tripod] This selfie stick tripod features a 7-section adjustable aluminum telescoping pole that adjusts from 12.2 in (31 cm) to 70.86 in (180 cm). Provides exceptional flexibility for shooting a variety of shots. Whether you're taking a selfie, a group photo or shooting a video, the adjustable height ensures you get the best angle every time.
- [Compact & Portable Design] The RISEOFLE phone tripod stand With a folded length of only 31cm (12.2 in) and a weight of 264g (0.58 lb), extremely portable and easy to store, it can be effortlessly placed into your backpack or carry-on luggage, making it the perfect companion for your travels. Wherever you go, it allows you to capture amazing footage with ease.
- [360° Rotation & Wide Compatibility] Featuring a 360° rotating phone holder, this selfie stick tripod allows you to easily switch between portrait and landscape modes for the best viewing angle. The universal holder fits smartphones with widths of 2.6''-3.6'' (4''-7'' screen size) and is compatible with most cameras, action cams, and webcams via the 1/4” screw mount (Note: the remote control function only applies to cell phones, the camera cannot use the remote control function).
- [Perfect for Content Creation] Ideal for selfies, vlogging, and social media content creation, the RISEOFLE Tripod comes with a wireless remote control for hassle-free shooting. Whether you're on Instagram, YouTube, TikTok, or Twitter, this phone stand for filming helps you capture professional-quality photos and videos with ease.
Or skip the browser setup
ScreenshotNeo is a website screenshot API and MCP server. One GET request returns PNG, JPEG, WebP or PDF at a selected viewport, with options for full-page capture, device presets or custom dimensions, retina scale, dark mode and element selectors. 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.
Only clean shots are billed. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads and cache hits cost nothing, and response headers identify the page verdict and billing result.
Crashes, 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 minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallcURL
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)
r.raise_for_status()
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}`);
if (!res.ok) throw new Error(`HTTP ${res.status}`);
require('fs').writeFileSync('shot.webp', Buffer.from(await res.arrayBuffer()));
See the ScreenshotNeo documentation for parameter names and response details. Its 63 options include custom CSS and JavaScript, click-before-capture, wait conditions, request blocking, headers, cookies, authorization, timezone, geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed image links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, usage reporting and an OpenAPI specification. An MCP server exposes take_screenshot, get_page_info and capture_pdf to Claude, Cursor and other MCP clients.
The Free plan includes 1,000 screenshots per month with no card. Paid plans start at $5 for 3,000 shots; yearly billing provides two months free. Create a free ScreenshotNeo account to start.
Cost and performance decisions
DevTools has no service charge and is ideal for a single check. Local ChromeDriver and Playwright shift cost to your runner and maintenance but make captures repeatable. Cloud services add parallelism and device breadth. ScreenshotNeo’s billing model is based on clean captures rather than failed or blocked pages, and caching can reduce repeated work when an unchanged result is acceptable. For any method, parallelize independent viewport jobs carefully: too much concurrency can trigger rate limits, exhaust CI resources or make a site return different content.
Best Value
- Rotatable twist with 1/4"screw allows 360° adjustment and 180° flipping, so you can take photos, video call or live broadcast with ease
- Universal compatibility with smartphones up to 3.7 inches wide, GoPros, digital cameras and webcams
- Includes a wireless remote with a range of 30 feet (without obstacle), so you can easily take individual, group and wide-angle shots
- Swaps easily between handheld selfie stick and stand-alone tripod for dual-purpose use
- Whether you're an amateur, enthusiast or professional, this is a must-have accesory for shooting on the go
A practical validation checklist
- Define the CSS width, height, DPR, orientation, browser engine and page state.
- Capture below and above every responsive breakpoint.
- Check navigation, forms, dialogs, sticky elements and horizontal overflow.
- Wait for fonts, images and application data.
- Compare the same URL and state with stable test inputs.
- Run a real-device check for engine, API, touch, sensor, keyboard or performance concerns.
- Label every artifact as emulated or real hardware.
Frequently Asked Questions
Does a mobile viewport screenshot include the phone’s browser chrome?
No. DevTools, ChromeDriver and Playwright capture the web content viewport, not the physical address bar, status bar or device bezel.
Free tools Windows power users keep installed
One-click scans. No signup required.
Should I test portrait and landscape separately?
Yes. Orientation changes the viewport dimensions and can expose breakpoint, overflow and fixed-positioning defects that a portrait-only capture misses.
Is a named device preset sufficient for visual regression?
It is a useful starting point, but store explicit viewport, DPR, browser version and state when pixel comparison must remain stable.
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.

