BlogScreenshots on your device
How to Turn a Webpage Into a PNG Image
Save an entire webpage as one PNG with Edge, Firefox, DevTools, or an automated screenshot API.
To turn a webpage into a PNG, capture the full page instead of only the visible viewport. Microsoft Edge and Firefox can save a complete webpage as one image. Firefox also provides a repeatable DevTools command. For automated or server-side captures, use a browser automation tool or an API such as ScreenshotNeo.
1. Choose the right capture method
| Method | Output | Best for | Main limitation |
|---|---|---|---|
| Edge Screenshot | PNG image | One-off full-page captures | Feature availability can vary by device, market, and browser version. |
| Firefox Take Screenshot | PNG image | Quick full-page downloads | Manual unless you use the DevTools command. |
Firefox DevTools :screenshot |
PNG image | Repeatable captures | Requires opening the Web Console. |
| Chrome DevTools | PNG image | Developer workflows | Menu wording can differ between Chrome versions. |
| Operating-system snip | PNG image | Visible excerpts | Does not include content below the fold. |
| Screenshot API | PNG, JPEG, WebP, or PDF | Automation, CI, batches, and backend jobs | Requires an API key or service setup. |
A normal screen snip captures only the visible viewport or a selected region. It does not automatically include the rest of a long page.
2. Save a full webpage as PNG in Microsoft Edge
- Open the webpage in Edge.
- Press Ctrl+Shift+S on Windows, or open Edge’s Screenshot feature from the browser menu.
- Choose Capture full page.
- Review the capture in the overlay.
- Save or download the result as a PNG.
Edge’s Screenshot feature is designed to capture an entire webpage in one screenshot, including content that extends beyond the screen. Edge also says moving content such as videos, GIFs, and carousels can remain active during capture. Dynamic content can still change while the page is being rendered, so repeat the capture if you need a stable frame.
3. Save a full webpage as PNG in Firefox
Using the context menu
- Open the page in Firefox.
- Right-click anywhere on the page.
- Choose Take Screenshot.
- Select Save full page.
- Download the resulting PNG file.
Firefox’s full-page option captures the page beyond the currently visible browser window and downloads an image with a .png extension.
Using Firefox DevTools
For a repeatable capture, open Firefox’s Web Console and run:
:screenshot webpage.png --fullpage
Firefox saves the file to the Downloads directory by default. Replace webpage.png with a path or filename that describes the page. The --fullpage flag is the part that requests the complete document rather than the visible viewport.
4. Capture a full-size PNG in Chrome
- Open the webpage in Chrome.
- Open DevTools with F12 or Ctrl+Shift+I on Windows/Linux, or Command+Option+I on macOS.
- Open the DevTools command menu with Ctrl+Shift+P on Windows/Linux, or Command+Shift+P on macOS.
- Search for Capture full size screenshot.
- Run the command and choose where to save the PNG.
Chrome’s exact command wording can change with the installed version. If the command is missing, update Chrome or use the browser’s current DevTools screenshot controls.
5. Capture only the visible area or one element
Use a regular operating-system screenshot when you need a viewport or a small region. This is faster for documentation snippets, bug reports, and support tickets, but it will not include content below the fold.
For an element such as a chart, card, or banner, use browser DevTools’ node or element capture when available. An element capture avoids the extra height of a full-page image and makes the result easier to place in a document.
6. Handle lazy-loaded, animated, and changing content
Full-page capture is a rendering task, not a simple copy of the page source. Images may load only after scrolling, JavaScript may replace content, and sticky headers can appear repeatedly in stitched screenshots.
- Lazy images: scroll through the page once before capturing, or use a tool that explicitly loads lazy images.
- Animations: pause videos and carousels when you need a deterministic image.
- Cookie banners and popups: dismiss them before capture so they do not cover the page.
- Fonts: wait until web fonts finish loading; otherwise text can reflow after the screenshot starts.
- Infinite scroll: a “full page” command may stop at the currently loaded document. Load more content first.
- Very tall pages: large PNGs consume substantial memory. Consider JPEG or WebP when lossless PNG is not required.
- Sticky elements: inspect the result for repeated navigation bars or overlays caused by viewport stitching.
7. Automate webpage-to-PNG captures
Use browser automation when you need repeatable viewport size, authentication, waiting rules, custom JavaScript, or a scheduled job. A typical workflow is:
- Launch a browser in a controlled environment.
- Navigate to the URL.
- Set the viewport and device scale.
- Wait for a selector, a delay, or network idle.
- Dismiss overlays and scroll to trigger lazy content.
- Save a full-page PNG.
Keep the capture environment consistent. Differences in browser version, fonts, timezone, geolocation, permissions, and device scale can change pixels even when the URL is unchanged.
8. Or skip the browser setup
ScreenshotNeo returns a webpage screenshot with one GET request. See the ScreenshotNeo API documentation for the request options.
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}`);
Change the target URL in each example. ScreenshotNeo can produce PNG, JPEG, WebP, or PDF output. Its capture options include full-page mode with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets or any viewport, retina scale, custom CSS and JavaScript, pre-capture clicks, hidden selectors, waits for selectors or network idle, blocked ads and trackers, custom headers, cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, image resizing, configurable caching, signed links, asynchronous jobs with signed webhooks, bulk capture for up to 100 URLs per call, usage reporting, and an OpenAPI specification.
Before capture, ScreenshotNeo accepts cookie or consent banners like a visitor and removes more than 60 known consent platforms, newsletter popups, and chat widgets. Each step can be disabled. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed. Responses identify the result with X-Page-Verdict and X-Billed headers.
ScreenshotNeo also provides an MCP server with take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
The Free plan includes 1,000 shots per month with no card. Paid plans start at $5 for 3,000 shots; Growth is $15 for 15,000, Pro is $39 for 60,000, Scale is $99 for 250,000, and Business is $249 for 1,000,000. Yearly billing gives two months free, and every feature is included on every plan.
Create a free ScreenshotNeo account and get 1,000 screenshots a month with no card.
9. Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| Only the visible viewport was saved | A regular screen snip or viewport command was used. | Choose Edge’s Capture full page, Firefox’s Save full page, or Chrome’s Capture full size screenshot. |
| The bottom of the page is blank | Images or sections are lazy-loaded. | Scroll through the page first, wait for loading, or use a capture tool that loads lazy images. |
| A cookie dialog covers the image | The consent banner was still open. | Accept or dismiss it before capture, hide the selector, or use ScreenshotNeo’s consent and popup removal. |
| Text looks different between captures | Fonts, viewport, device scale, or browser version changed. | Pin those settings and wait for fonts before saving. |
| The capture includes repeated headers | A sticky element was stitched at every viewport segment. | Hide the sticky selector or capture the main element instead of the full document. |
| The browser command is unavailable | The feature name or shortcut differs by version or platform. | Open the browser’s screenshot or DevTools command menu and search for full-page capture. |
| An API response is not an image | The URL failed, required authentication, hit a bot check, or timed out. | Check the response status and X-Page-Verdict/X-Billed headers, then supply cookies, headers, a user agent, or a longer wait as needed. |
| The PNG is too large to process | A very tall page at high retina scale creates a large bitmap. | Capture an element, reduce scale, resize the output, or choose WebP/JPEG when appropriate. |
10. Performance, reliability, and cost
- Speed: viewport captures are fastest. Full-page captures take longer because the browser must render, scroll, and stitch or rasterize more content.
- Reliability: wait for a meaningful selector or network idle instead of relying only on a fixed short delay. Repeat captures of pages with live media can differ.
- Reproducibility: fix viewport, scale, browser version, timezone, geolocation, authentication state, and font availability.
- Storage: PNG is lossless and often large. WebP or JPEG can reduce storage and transfer time when exact pixel preservation is unnecessary.
- API cost: browser automation consumes your own compute. ScreenshotNeo bills only clean shots; failed loads, blank pages, bot checks, timeouts, and cache hits cost nothing.
- Caching: use a cache TTL for pages that do not change frequently, or disable caching when every capture must reflect the current page.
11. FAQ
Can I turn a webpage into a PNG without scrolling?
Yes. Use Edge’s Capture full page, Firefox’s Save full page, Chrome’s full-size DevTools command, or an API that supports full-page capture.
Is PNG better than PDF for a webpage?
PNG is a raster image suited to previews, documentation, and image processing. PDF is better when you need a printable document, selectable text, or page-based output.
Why is my full-page PNG extremely tall?
The image includes the document’s complete rendered height. Capture a specific element, resize the result, or export to PDF when a paginated document is more useful.
Can a screenshot include content behind a login?
Yes, if the capture environment has a valid authenticated session. Browser automation can reuse a session; an API may require cookies or authorization headers.
What should I use for many URLs?
Use an automated browser or ScreenshotNeo’s bulk capture endpoint, which accepts up to 100 URLs per call.


