ScreenshotNeo

BlogHow-to

How to Save a Website Screenshot as an Image

Save a visible or full-page website screenshot as an image using Edge, Firefox, Safari, Chrome DevTools, or ScreenshotNeo.

By the ScreenshotNeo team1 October 20267 min read

Short answer: use your browser’s screenshot feature and choose a visible-area or full-page capture. In Microsoft Edge, press Ctrl+Shift+S and choose Capture full page. In Firefox, choose Take Screenshot, then Save full page and Download. On iPhone Safari, take a screenshot, switch the preview to Full Page, and save it. Chrome’s Save Page As command saves a webpage, not an image; for a screenshot image, Chrome Community guidance describes the DevTools Capture full size screenshot command.

Choose a visible capture when you need exactly what is on screen. Choose a full-page capture when the page continues below the viewport.

Visible screenshot versus full-page screenshot

A normal screenshot records the current viewport. It is useful for a dialog, chart, bug report, or one screen of content. A full-page screenshot stitches or renders content below the viewport into one image, which is better for documentation, design review, and archiving a long article.

Need Use
Only what is currently visible Visible-area or viewport capture
The entire page, including content below the fold Full-page capture
One part of a page Selected-area capture
An editable webpage for offline use Save Page As; this is not a screenshot image

Microsoft Edge on desktop

  1. Open the webpage and wait for the content you want to include.
  2. Press Ctrl+Shift+S.
  3. Choose Capture full page for the entire webpage, or select an area for a partial screenshot.
  4. Use the screenshot controls to save or copy the image.

Microsoft describes this feature as capturing an entire webpage, including content beyond the visible screen, and allowing the result to be saved or copied. See the Microsoft Edge Screenshot documentation.

Mozilla Firefox on desktop

  1. Open the page’s context menu.
  2. Choose Take Screenshot.
  3. Select Save full page for the complete page, Save visible for the current viewport, or drag a region.
  4. Choose Download.

Firefox downloads the result as an image file with a .png filename in the browser’s default download folder. Mozilla documents these choices in Take screenshots in Firefox.

iPhone Safari

  1. Open the webpage in Safari.
  2. Take a screenshot using your iPhone’s device controls.
  3. Tap the screenshot preview and switch from Screen to Full Page.
  4. Save the capture using the available controls. Apple directs saved screenshots to Photos.

The exact export choices can vary by iOS version, so confirm the destination and file type in the share or save panel. Apple’s reference is Take a screenshot on iPhone.

Google Chrome on desktop

Chrome Help’s Save Page As command saves webpage files; it does not create a PNG or JPEG screenshot. If you need an image, use the DevTools workflow described by Chrome Community guidance:

  1. Open DevTools with Ctrl+Shift+I on Windows/Linux or Cmd+Option+I on macOS.
  2. Open the command menu with Ctrl+Shift+P or Cmd+Shift+P.
  3. Search for Capture full size screenshot.
  4. Run the command and save the resulting image.

This command path comes from a Chrome Community answer rather than an official Chrome Help article. DevTools labels can change, so check the current interface if the command is missing. Chrome’s official help distinguishes webpage saving from other download actions in Download a file.

Prepare the page before capturing

  • Wait until fonts, images, charts, and menus have finished loading.
  • Dismiss cookie notices, newsletter dialogs, chat bubbles, and other overlays if they cover content.
  • For a repeatable result, use the same browser, window size, zoom level, and logged-in state.
  • Scroll through long pages once when lazy-loaded images are important; some pages load media only near the viewport.
  • Check the bottom and right edges after saving. A fixed header, sticky chat button, or clipped horizontal layout can make the result look different from the page.

Automate website screenshots with ScreenshotNeo

For recurring captures, server-side rendering, or screenshots from scripts, ScreenshotNeo provides a GET endpoint that returns PNG, JPEG, WebP, or PDF output. It can capture a full page with lazy images loaded, capture one element by CSS selector, use device presets or a custom viewport, apply retina scale, wait for a selector, delay, or network idle, and run custom CSS or JavaScript. It also supports dark mode, hiding selectors, clicking an element before capture, blocking ads, trackers, requests, or resource types, custom headers and cookies, user agents, Authorization, timezone and geolocation, transparent backgrounds, resizing, caching with a chosen TTL, signed links, asynchronous jobs, bulk capture of up to 100 URLs per call, a usage API, and an OpenAPI specification. Parameter names used by other screenshot APIs also work, which can simplify migration. See the ScreenshotNeo documentation for the current option names.

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,
)
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(`Screenshot failed: ${res.status}`);
const fs = await import('node:fs/promises');
await fs.writeFile('shot.webp', Buffer.from(await res.arrayBuffer()));

Useful automation choices

Requirement ScreenshotNeo capability
Long page Full-page capture with lazy images loaded
One component CSS-selector element capture
Consistent device rendering 12 device presets, custom viewport, dark mode, and retina scale
Dynamic content Wait for a selector, a delay, or network idle; click an element; run custom JavaScript
Clean composition Hide selectors, remove overlays, block selected requests or resource types, and use transparent backgrounds
Authenticated pages Custom headers, cookies, user agent, and Authorization
Large jobs Async jobs with signed webhooks or bulk capture for 100 URLs per call
Repeated URLs Caching with a TTL you choose

Or skip the browser setup

ScreenshotNeo accepts the URL and returns the image directly:

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

Cookie banners, newsletter popups, and chat widgets are removed before the shot. Bot checks, blank pages, timeouts, failed loads, and cache hits are never billed; response headers identify the page verdict and whether it was billed. An MCP server lets Claude, Cursor, and other MCP clients call take_screenshot, get_page_info, and capture_pdf. The Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000 shots, and every feature is available on every plan. Create a free ScreenshotNeo account.

Troubleshooting

The capture contains only the visible area

Choose the browser’s full-page option. In Edge, select Capture full page; in Firefox, select Save full page. In Chrome, use the DevTools full-size command rather than a normal screen capture.

The result is a webpage file instead of an image

Save Page As is the wrong command for an image. Use a screenshot feature or an image endpoint such as ScreenshotNeo.

Images or charts are missing

Wait for the page to finish loading and scroll through lazy content before capturing. For automation, wait for a selector, a delay, or network idle, and enable full-page capture.

Dismiss or hide the overlay before a browser capture. ScreenshotNeo accepts consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets before capture; each cleanup step can be turned off.

The page is blank, blocked, or times out

Check the URL, authentication, required cookies, and network restrictions. For ScreenshotNeo, inspect the X-Page-Verdict and X-Billed response headers; bot checks, blank pages, timeouts, failed loads, and cache hits are not billed.

The screenshot is clipped or unusually wide

Check the viewport, device preset, browser zoom, horizontal overflow, fixed headers, and responsive breakpoints. Capture a specific element when the full document layout is not what you need.

Chrome does not show the full-size command

DevTools menus change. Reopen the command menu, search for the exact phrase, and confirm that DevTools is attached to the intended tab. The workflow is community guidance, so verify the current Chrome version.

Performance, reliability, and cost

  • Performance: viewport captures are usually lighter than full-page captures. Waiting for network idle or lazy images improves completeness but can increase capture time.
  • Reliability: keep viewport, device, cookies, user agent, and wait conditions explicit for repeatable output. Use asynchronous jobs and signed webhooks for large or slow pages.
  • Bandwidth: WebP or JPEG can reduce file size when you do not need lossless PNG output. Choose the format required by your downstream system.
  • Cost: browser screenshots use your local machine. ScreenshotNeo bills only clean shots; failed loads, bot checks, blank pages, timeouts, and cache hits cost nothing. Plans are Free for 1,000 shots/month, Starter $5 for 3,000, Growth $15 for 15,000, Pro $39 for 60,000, Scale $99 for 250,000, and Business $249 for 1,000,000; yearly billing gives two months free.

Checklist before you save

  • Did you choose visible, selected-area, or full-page capture intentionally?
  • Are dynamic content and lazy images loaded?
  • Are cookie notices and fixed widgets hiding important content?
  • Is the output an image rather than a webpage archive?
  • Did you check the bottom, right edge, and file extension?
  • For automation, are authentication, waits, viewport, format, and error handling configured?

FAQ

What is the easiest way to save a full webpage as an image?

Use Edge’s Screenshot tool or Firefox’s Save full page option. For repeatable scripts, use a screenshot API.

Does Save Page As create a PNG?

No. It saves webpage files. Use a screenshot command when you need an image.

Can I save only one element?

Yes. Select a region in a browser tool, or use ScreenshotNeo’s CSS-selector element capture.

Which format should I choose?

PNG is a lossless default, JPEG is useful for photographic pages, and WebP can reduce file size. Confirm what your destination accepts.

Can an API screenshot a page that requires cookies?

Yes, when the service supports passing the required session data. ScreenshotNeo supports custom cookies, headers, user agents, and Authorization.