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.
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
- Open the webpage and wait for the content you want to include.
- Press Ctrl+Shift+S.
- Choose Capture full page for the entire webpage, or select an area for a partial screenshot.
- 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
- Open the page’s context menu.
- Choose Take Screenshot.
- Select Save full page for the complete page, Save visible for the current viewport, or drag a region.
- 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
- Open the webpage in Safari.
- Take a screenshot using your iPhone’s device controls.
- Tap the screenshot preview and switch from Screen to Full Page.
- 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:
- Open DevTools with Ctrl+Shift+I on Windows/Linux or Cmd+Option+I on macOS.
- Open the command menu with Ctrl+Shift+P or Cmd+Shift+P.
- Search for Capture full size screenshot.
- 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.
A cookie banner or chat bubble covers the page
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.


