ScreenshotNeo

BlogHow-to

How to Archive a Website as a Full-Page PNG with the URL Visible

Save a webpage as a full-page PNG and make its URL visible. Compare Firefox capture, URL-stamp extensions, and an API workflow.

By the ScreenshotNeo team4 October 20268 min read

To archive a webpage as a full-page PNG, use Firefox’s built-in full-page screenshot and download the image. That captures the rendered page beyond the viewport; it does not guarantee the browser address bar appears in the image. If the URL must be visible inside the PNG, use a URL-stamp tool or a browser extension that includes the address, then inspect the output for truncation. A separate screenshot of the browser window can preserve address-bar context, but it is a separate image and not one continuous full-page capture.

What “full page with the URL visible” means

There are two separate requirements:

  • Full-page capture: the screenshot includes page content below the currently visible browser viewport.
  • URL visible: the address is rendered into the image, either as browser chrome or as a URL label/stamp.

A webpage screenshot and a browser-window screenshot are not the same thing. Firefox’s built-in help documents saving a full-page image, but does not promise that browser chrome or the address bar is included. If one PNG must contain both the entire page and its URL, choose a capture method that explicitly adds a URL bar or URL stamp, and verify the complete address is readable.

Choose the right capture method

Method Full page URL in same image Useful when
Firefox built-in screenshot Yes Not guaranteed You need a quick page image without installing anything
Firefox Developer Tools Yes Not guaranteed You want a repeatable developer workflow or filename control
Third-party URL-stamp extension Advertised by the listing/publisher Advertised The URL must appear within the same exported image
Browser-window screenshot plus full-page image Page image does Address visible in separate context image You want to avoid an extension and can keep supporting context separately
ScreenshotNeo API Full-page option available Use a URL-stamp/browser-chrome workflow when the URL must be visibly printed in the image You need a repeatable remote capture in code

For an extension, review its current permissions and privacy details before installing. Features and permissions can change. If the page is local, logged in, or personalized to your browser session, use a browser-based method that can access that session; a remote API request will not automatically share your local cookies.

Firefox: save a full-page PNG

  1. Open the exact page and wait until the content you need is visible and settled.
  2. Right-click an empty part of the page and choose Take Screenshot. The documented shortcut is Ctrl+Shift+S on Windows/Linux and Command+Shift+S on macOS.
  3. Choose Save full page, not Save visible.
  4. Select Download. Firefox saves the image to its configured download folder. The downloaded name includes a screenshot prefix, date/time, and page title.
  5. Open the PNG and inspect the top, middle, and bottom. Check for missing lazy-loaded images, repeated sticky headers, or content that appeared only after scrolling.

This route saves the page image. Do not assume the address bar is part of it. If URL visibility is mandatory, use a URL-stamp option or preserve an additional browser-window screenshot.

Firefox Developer Tools: capture a full page with a chosen filename

Firefox Developer Tools provide a screenshot button for the entire page. Enable the toolbox button labeled Take a screenshot of the entire page in Developer Tools settings, then click it. The capture is saved in Downloads.

The Web Console also has a :screenshot helper. For example:

:screenshot --fullpage --filename=archive-2026-10-04.png

The --fullpage option includes content beyond the current window bounds, and --filename selects a PNG name. Reusing a filename overwrites the earlier image, so include a date, identifier, or other unique value for each archive. This command captures the page, not a guaranteed address bar.

Make the URL visible in the PNG

Use a URL-bar or URL-stamp extension

The Firefox Add-ons listing for Screenshot with URL – Full Page Screenshot advertises full-page capture with or without the URL bar, automatic URL and timestamp, and PNG, JPEG, or PDF output. This is a third-party add-on feature, not a built-in Firefox guarantee. The listing shows access to clipboard, downloads and download history, browser tabs, and website data; check the live listing and decide whether those permissions are appropriate before installing.

The FullPage Capture publisher describes a Chrome/Edge option for whole-page PNG/JPG output with an optional address/date stamp, including styles resembling browser frames. The publisher also says captures are made in the browser and saved locally. Treat these as publisher-described features, and review current permissions before use.

After capture, confirm the address is complete. Long URLs, query strings, or fragments may not fit in a stamp. If the extension lets you choose placement or sizing, make the URL legible without covering page content.

Keep browser context as a separate image

If you do not want to install an extension, take one screenshot of the browser window with the address bar visible, then save the Firefox full-page PNG alongside it. This preserves supporting context, but it does not combine the address bar with the entire page in one continuous image. A descriptive filename can help identify the URL and capture date, but a filename does not make the URL visible within the image.

Archive checklist

  1. Open the exact URL and wait for the state you intend to preserve.
  2. Decide whether you need the rendered page only, or the URL visibly inside the same image.
  3. For Firefox, choose Take Screenshot → Save full page → Download, or use the Developer Tools button/console for repeatable captures.
  4. If the URL must be in the PNG, choose a URL-bar or URL-stamp method and verify the entire intended address is visible, without truncation.
  5. Use a unique filename. Reusing the Developer Tools filename overwrites the previous capture.
  6. Inspect the top, middle, and bottom for delayed images, sticky elements, and missing sections.
  7. Keep the source URL and capture time separately if the image is part of a record. A screenshot preserves a visual rendering; by itself it does not establish authenticity or completeness.

Or skip the browser setup

ScreenshotNeo is a website screenshot API and MCP server. For an automated full-page capture, request the page and save the response as a PNG. See the ScreenshotNeo API documentation for request options and configuration.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -d full_page=true -d format=png -o archive.png
import requests

r = requests.get(
    "https://api.screenshotneo.com/v1/shot",
    params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com", "full_page": "true", "format": "png"},
    timeout=90,
)
r.raise_for_status()
open("archive.png", "wb").write(r.content)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com', full_page: 'true', format: 'png' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('archive.png', res);

Replace the example URL with the page you need. ScreenshotNeo can load lazy images for full-page captures, and offers custom CSS or JavaScript, selector waits, delay or network-idle waits, cookies, headers, and user-agent settings for pages that need preparation. Its clean-capture steps can accept cookie/consent banners and remove 60+ known consent platforms, newsletter popups, and chat widgets; each step can be turned off. The API response identifies page verdict and billing headers. Bot checks/CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing. Its MCP server provides take_screenshot, get_page_info, and capture_pdf for Claude, Cursor, and other MCP clients.

ScreenshotNeo is useful for repeatable remote capture and automation. The request above returns an image of the page; when the URL must be visibly printed inside the PNG, use a URL-stamp or browser-chrome method and verify that output. Free includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000, with every feature on every plan. Sign up for 1,000 free screenshots a month with no card.

Troubleshooting

Problem Likely cause What to do
Only the visible viewport was saved Save visible was selected instead of Save full page Repeat the capture and choose the full-page option.
The address bar is absent The page screenshot contains webpage content, not browser chrome Use an extension that explicitly adds a URL bar/stamp, or retain a separate browser-window screenshot.
The URL stamp cuts off the address The URL is longer than the stamp area supports Check whether the tool supports a wider stamp or smaller text; preserve the complete source URL separately as well.
Some images or sections are missing Content may load lazily or after interaction/scrolling Wait for the page to settle, scroll through it before capture, or use a capture workflow with lazy-image loading and an appropriate wait.
Sticky navigation appears repeatedly The page’s fixed or sticky elements may be rendered during full-page stitching Inspect the resulting image; where available, hide the relevant selector with custom CSS or use a different capture route.
A previous capture disappeared The same Developer Tools filename was reused and overwritten Choose a unique filename for every archive.
A remote capture shows a logged-out or different page The API request does not have the browser’s local session Use an authenticated capture configuration with the required cookies or headers, or capture in the browser session.

Performance, reliability, and cost

A full-page image can be much taller and larger than a viewport capture, especially on pages with large images or long content. Wait only as long as the page requires: an explicit selector, a short delay, or network idle can help, but network activity may never fully stop on pages with analytics or live updates. If the archive is important, use a unique filename, inspect the downloaded image, and record the source URL and capture time separately.

Browser capture is convenient for local and logged-in pages and avoids sending a remote service your page access details. Extensions add their own permission and privacy considerations. API capture is easier to repeat in a script or pipeline, but needs credentials and any required session cookies or headers; keep API keys out of committed code. ScreenshotNeo bills only clean shots and identifies page verdict and billing state in response headers. Its plan prices are $0 for 1,000 monthly shots, $5 for 3,000, $15 for 15,000, $39 for 60,000, $99 for 250,000, and $249 for 1,000,000; annual billing gives two months free.

FAQ

Does a full-page screenshot prove that the page existed exactly as shown?

No. It records a visual rendering. Preserve the source URL and capture time separately when provenance matters.

Can I use a filename to make the URL visible in the image?

No. A filename can help organize the archive, but the URL is not rendered into the PNG.

Should I choose PNG, JPEG, or PDF?

Use PNG when preserving crisp text as an image is the goal. Choose another format only when your downstream workflow specifically needs it; the cited extension listing also advertises JPEG and PDF.

Sources