ScreenshotNeo

BlogHow-to

How to Take Mobile Website Screenshots with Firefox on an Android Emulator

Open a site in Firefox for Android on an AVD, then save the emulator screen with its toolbar or ADB. Includes setup, commands, troubleshooting, and an API option.

By the ScreenshotNeo team4 October 20267 min read

To take a screenshot of a mobile website in Firefox on an Android emulator, open the site in Firefox for Android inside a running Android Virtual Device (AVD), position the page, then use the Android Emulator toolbar’s Take screenshot control. Save the resulting PNG to your computer. For a repeatable terminal workflow, use ADB’s screencap command to stream the emulator display directly to a host file.

This captures the emulator’s displayed device screen, including whatever is visible in Firefox at that moment. It is not Firefox’s desktop full-page screenshot tool. The image dimensions depend on the selected AVD and output file; check the saved image rather than assuming a particular resolution.

1. Set up Firefox in an Android emulator

  1. In Android Studio, create and start an AVD. Choose the Android version and hardware profile that match the mobile environment you want to capture. Record the AVD profile and Android API level if you need to reproduce the screenshot later. Android’s AVD documentation covers creating and launching a virtual device.
  2. Install Firefox for Android in the running emulator. Mozilla’s contributor guidance describes installing an APK by dragging it onto the virtual device. Its interface and APK instructions may change, so use Mozilla’s current distribution information when choosing an installation source.
  3. Open Firefox, navigate to the target website, and position the page at the desired scroll location. Wait for the page and any dynamic content, consent notices, or images to settle before capturing.

2. Capture and save with the Emulator toolbar

  1. With Firefox and the target page in the foreground, click Take screenshot in the Android Emulator toolbar.
  2. Review the screenshot dialog. Android documents options to recapture, edit, or copy the image.
  3. When it looks right, click Save and choose a filename and destination on the host computer. The default name includes a timestamp, and the image is saved as a PNG.
  4. Open the saved file and inspect the browser chrome, scroll position, overlays, and page loading state.

Toolbar labels and layout can vary with Android Studio and Emulator versions. If you cannot find the screenshot control, check the Emulator’s extended controls or use the ADB method below. See Android’s Emulator documentation for the documented screenshot workflow.

3. Capture the emulator display with ADB

ADB captures the visible device display. Bring Firefox and the exact page state you want to the foreground before running a command. These examples assume ADB is installed and the emulator is running.

Stream the PNG directly to your computer

adb exec-out screencap -p > screen.png

The command writes PNG data to screen.png in the current host directory. This is convenient for scripts because it avoids creating a temporary image file on the emulator.

Save on the emulator, then copy the file

adb shell screencap /sdcard/screen.png
adb pull /sdcard/screen.png ./screen.png

The first command creates the screenshot on the virtual device; the second copies it to the current host directory. Android documents both approaches in its ADB reference.

Choose the target when more than one device is connected

List connected devices and emulator IDs:

adb devices

If multiple targets are listed, specify the intended serial with -s:

adb -s emulator-5554 exec-out screencap -p > screen.png

Replace emulator-5554 with the serial shown by adb devices. Without a target selector, ADB may send a command to the first available device, which can be the wrong emulator or a connected phone. See Android’s device targeting guidance.

4. Choose the capture method

Need Method Result
One screenshot with visual review Emulator toolbar → Take screenshot → Save A dialog for recapture, editing, copying, and saving a PNG.
Script output saved directly on the host adb exec-out screencap -p > screen.png A PNG streamed to a local file.
Keep a device-side copy before transfer adb shell screencap, then adb pull A PNG on the emulator and a copied file on the host.

The toolbar is a natural choice when you want to inspect and possibly recapture manually. ADB is a natural choice when you want to repeat a command or handle the output in a script. These are workflow recommendations based on the documented controls; no speed or image-quality comparison is implied.

5. Understand what the screenshot includes

ADB’s screencap captures the device display. It does not ask Firefox to produce a web-page-only or full-document image. Depending on the emulator state, the saved pixels can include Firefox’s browser interface, the Android status or navigation areas, page overlays, and only the currently visible portion of a long page.

  • Need a specific scroll position? Scroll to it in Firefox before capturing.
  • Need the whole page? A display screenshot only includes what is shown on screen. Scroll and capture multiple positions, or use a browser automation or screenshot API designed for full-page capture.
  • Need a clean page without consent or chat overlays? Dismiss them in Firefox before capture, if appropriate for your task. An emulator display capture preserves overlays that are still visible.
  • Need a reproducible image? Record the AVD profile, Android version, Firefox version, URL, scroll position, and any page state that affects rendering.

6. Troubleshooting

Symptom Likely cause Fix
adb: command not found or not recognized ADB is not installed or its platform-tools directory is not on the host PATH. Install Android SDK Platform-Tools through Android Studio’s SDK Manager, or invoke adb using its installed path.
error: no devices/emulators found The AVD is stopped, still booting, or not visible to the current ADB installation. Start the emulator, wait for it to finish booting, then run adb devices again. Confirm the terminal uses the expected SDK Platform-Tools.
The wrong emulator or phone was captured Several ADB targets are connected and the command did not select one. Use adb devices, then pass the correct serial with adb -s SERIAL.
The output file is empty or not a valid PNG The ADB command failed, shell output was redirected incorrectly, or the output path is not writable. Run the command again and inspect its error output. Use adb exec-out screencap -p > screen.png in a writable directory, then open the file to confirm it is a PNG.
The page is blank, incomplete, or still loading The capture happened before navigation, scripts, or images finished rendering, or the site returned an error. Wait for the page to settle, check the URL and network state in Firefox, then recapture. For dynamic pages, allow their content to finish updating.
A banner, popup, or chat widget covers the page The emulator captures visible pixels, including overlays. Dismiss or close the overlay in Firefox when that is suitable, then take another screenshot.
The image includes browser or Android controls The capture represents the device display, not a cropped website document. Use the Emulator screenshot dialog’s editing controls if they suit the task, or crop the PNG afterward. For page-only capture, use a browser capture workflow.
The toolbar screenshot button is not visible The toolbar is collapsed, the control is elsewhere in the current Emulator layout, or the installed version differs. Check the Emulator toolbar and extended controls, or use ADB to capture the display.

7. Performance, reliability, and cost

The manual workflow requires Android Studio, a running AVD, Firefox, and a host file destination. ADB lets you save or transfer the displayed pixels from a terminal. The cited documentation does not compare capture speed, resource use, or reliability between the toolbar and ADB, so choose based on whether you need visual review or command-line handling.

For repeatability, keep the emulator configuration stable and ensure the page has reached the intended state before capture. If a site changes content based on location, login, cookies, time, or viewport, those conditions can change the screenshot. No fixed screenshot resolution or capture time applies to every AVD and page.

The Android Emulator and ADB capture steps described here do not require a screenshot API plan. If you instead use a hosted API, account for its plan limits and the page-capture options it supports.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. One GET request can return an image or PDF; the API supports mobile device presets, custom viewport dimensions, full-page capture, cookies and custom headers, and other capture options. See the ScreenshotNeo API documentation.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
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(`Screenshot request failed: ${res.status}`);
await import('node:fs/promises').then(async fs => fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer())));

Cookie banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, and failed loads are never billed; the response identifies the page verdict and billing status. An MCP server lets AI agents such as Claude and Cursor take screenshots. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.

Sign up for ScreenshotNeo’s free plan and get 1,000 screenshots a month with no card.

FAQ

Can I screenshot a page open in Firefox for Android with ADB?

Yes. Bring Firefox to the foreground and run adb exec-out screencap -p > screen.png. It captures the emulator’s displayed screen.

Does this create a full-page screenshot?

No. Emulator toolbar and ADB screen captures show the current device display. A long page requires multiple scroll captures or a page-aware capture method.

Is Firefox’s desktop Screenshots feature the same thing?

No. Mozilla’s Firefox Screenshots instructions describe desktop browser controls. For Firefox on an AVD, use the Emulator toolbar or ADB.

Should I use ScreenshotGo?

No. Mozilla says the distinct ScreenshotGo app is no longer supported and will not receive further updates. See Mozilla’s ScreenshotGo support page.