Save Page WE vs. Browser Save Page As: What Gets Saved?
Compare what Save Page WE and browser Save Page As include, how their files differ, and what to expect when you open a saved page offline.
Short answer: Save Page WE is designed to save a page as it is currently displayed in one HTML file, with controls for choosing which resources to include. Browser Save Page As behavior depends on the browser and format: Firefox’s “Web page, complete” creates an HTML file and a companion resource directory, while “Web page, HTML only” saves one HTML file without pictures. Chromium documents Complete HTML, MHTML, and HTML Only flows, though those implementation options do not guarantee the same choices appear in every browser’s save dialog.
None of these formats guarantees a perfect, interactive offline copy. Dynamic content, frames, scripts, and resources that are not captured can change how the saved page looks or behaves.
1. What Save Page WE saves
Save Page WE’s central idea is a single HTML file representing the page as currently displayed. Its Basic, Standard, and Custom resource settings control what goes into that file. The extension describes its output as a highly accurate representation; that is the publisher’s characterization, not a guarantee that every page will work offline exactly as it did online.
| Setting | Resource categories described in the documentation |
|---|---|
| Basic | HTML elements; HTML images currently displayed; canvas graphics; CSS stylesheets; currently displayed CSS images; and CSS font files used by the browser. |
| Standard | Basic items plus all HTML images, HTML audio and video files, HTML object and embed files, and WOFF fonts for any browser. |
| Custom | Basic items plus categories you select, including all HTML images, audio and video, object and embed files, all CSS images, fonts, and scripts in same-origin frames. |
Scripts in cross-origin frames are never saved. Saved-page scripts are disabled by default. The extension also provides settings for lazy content, lazy images, keeping cross-origin frames, and maximum nested frame depth, so results can depend on both the page and your configuration. Save Page WE’s [Chrome Web Store listing](https://chromewebstore.google.com/detail/save-page-we/ where) describes saving a page “as currently displayed” to one HTML file; its [Mozilla Add-ons listing and documentation](https://addons.mozilla.org/en-US/firefox/addon/save-page-we/) details the resource options.
2. What browser Save Page As saves
Firefox
Mozilla documents two relevant choices:
- Web page, complete: saves the page along with pictures and creates a separate directory for pictures and other resources. The saved page may not retain the original HTML link structure.
- Web page, HTML only: saves the original page without pictures in one file and preserves the original HTML link structure.
These are Firefox-specific labels and behaviors documented by Mozilla; do not assume another browser uses the same names or produces the same structure. See [Mozilla’s save-a-web-page guide](https://support.mozilla.org/en-US/kb/how-save-web-page).
Chromium-based browsers
The Chromium project’s implementation overview describes three flows: Complete HTML, which requests savable resources from frames and serializes frame DOM and HTML; MHTML, which produces an MHTML file; and HTML Only, which creates a single save item. This is implementation documentation, not a promise that every platform exposes all three options in its current UI. The overview says MHTML is disabled by default in the Save Page As UI on Windows, macOS, and Linux, and is the default on ChromeOS. See [Chromium’s Save Page As overview](https://www.chromium.org/developers/design-documents/save-page-as-webpage/).
3. Side-by-side comparison
| Question | Save Page WE | Browser Save Page As |
|---|---|---|
| Typical output structure | One HTML file, with resource selection. | Depends on browser and format. Firefox Complete uses an HTML file plus a resource directory; HTML Only is one file. Chromium documents Complete HTML, MHTML, and HTML Only flows. |
| Which resources are included? | Basic, Standard, or Custom categories determine inclusion. | Depends on the browser’s save format and implementation. |
| Offline appearance | Designed to represent the page as currently displayed, but coverage depends on the page and settings. | Complete saves can include resources, but missing or dynamic content can affect fidelity. |
| Scripts and interactivity | Scripts are disabled by default in saved pages; cross-origin-frame scripts are never saved. | Do not assume scripts or live interactions will work offline; the documented save flows focus on saved page content and resources. |
| Portability | A single file is convenient to move and share, but is not guaranteed to be a fully functional clone. | A complete save may require keeping the companion folder beside the HTML file. Moving only the HTML can leave resources behind. |
| Browser and platform variation | The extension documents its own controls. | Formats and UI labels vary; use the documentation for the specific browser and version. |
4. Choose the right save method
- For one portable artifact: Save Page WE’s single-file approach may be convenient. Pick Basic, Standard, or Custom based on the resource categories you need.
- For a Firefox page with a separate resource folder: choose Web page, complete, and keep the HTML file and generated directory together when moving the save.
- For a text-focused HTML copy: Firefox’s Web page, HTML only omits pictures. Check your browser’s own documentation for equivalent behavior before relying on a similarly named option.
- For Chromium MHTML: check whether your browser and platform expose the option and whether it suits the application that will open the file.
- For important records: keep the original URL and capture date with the saved artifact. Reopen the copy offline and inspect images, fonts, frames, and links before treating it as a complete record.
5. Common offline-saving problems
| Symptom | Likely cause | What to try |
|---|---|---|
| Images or styles are missing | The chosen format or resource preset did not include them, or the browser could not save the resource. | For Save Page WE, review Basic, Standard, or Custom selections. For a browser complete save, keep the companion folder and HTML together. |
| The page looks different after scrolling | Lazy-loaded content may not have been present when the page was captured. | Load the page content you need before saving. Review Save Page WE’s lazy-content and lazy-image settings. |
| An embedded frame is blank or incomplete | Frame content can be cross-origin or beyond configured nesting depth; cross-origin-frame scripts are not saved by Save Page WE. | Check frame-related settings and depth limits, and expect some embedded content to remain unavailable offline. |
| Buttons or interactive widgets do nothing | Saved-page scripts may be disabled, absent, or dependent on a live server. | Treat the file as a visual/content record unless you verify the needed interactions offline. Save Page WE scripts are disabled by default. |
| A copied HTML file has broken assets | A browser complete-save resource directory was moved or renamed separately. | Restore the generated directory alongside the HTML file and preserve its relative location. |
| You cannot find the documented format in the dialog | Browser, operating system, or version differences affect available formats and labels. | Consult documentation for that browser and platform; Chromium implementation documentation does not promise every format is exposed in every UI. |
6. Capture a screenshot when you need a visual record
Saving a web page preserves HTML and resource files according to the selected format. A screenshot instead records the rendered pixels at capture time; it is useful for visual review or sharing, but it does not preserve the page’s HTML structure or make interactive controls work offline.
For a local, do-it-yourself screenshot, open the page in your browser, wait for the content you need to render, and use the browser’s screenshot or print controls. Browser interfaces differ, so consult the relevant browser documentation for exact steps. For repeatable captures, automate a browser and explicitly set the viewport, wait condition, and whether the capture should cover the full page. Check the output for lazy images, overlays, and content loaded after the initial render.
ScreenshotNeo: an alternative to try first
If the goal is a clean visual capture rather than an offline HTML copy, [ScreenshotNeo](https://screenshotneo.com) is a website screenshot API and MCP server for developers. One GET request returns a PNG, JPEG, WebP, or PDF. Its clean-shot flow 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 turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits cost nothing, and response headers identify the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients.
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}`);
if (!res.ok) throw new Error(`Screenshot request failed: ${res.status}`);
await Bun.write('shot.webp', new Uint8Array(await res.arrayBuffer()));
See the [ScreenshotNeo API documentation](https://screenshotneo.com/docs/) for request options and integration details. The service also supports full-page captures with lazy images loaded, CSS-selector element captures, device and viewport choices, custom CSS and JavaScript, waits, request blocking, custom headers and cookies, caching, async jobs, bulk capture, and more. Free includes 1,000 shots per month with no card; paid plans start at $5 for 3,000, and every feature is on every plan.
Or skip the browser setup: send one GET request using the example above. Cookie banners, popups, and chat widgets are removed before the shot; bot checks, blank pages, and failed loads are never billed; an MCP server lets AI agents take screenshots; and 1,000 screenshots a month are free with no card, with paid plans starting at $5 for 3,000. Sign up for free and capture your first screenshots.
7. Frequently asked questions
Does “complete” mean the saved page is a perfect offline copy?
No. It describes a save format or resource set, not a guarantee of identical appearance or behavior. Dynamic content, scripts, frames, and resources can be missing or behave differently.
Does Save Page WE save scripts from every frame?
No. Its documentation says scripts in cross-origin frames are never saved, and scripts are disabled by default in saved pages.
Can I email or upload a Firefox “Web page, complete” save as one file?
The HTML file and its companion resource directory form the save. Keep them together if you need the referenced resources to remain available.
Is MHTML available in every Chromium browser’s save dialog?
Do not assume so. Chromium’s implementation overview describes MHTML behavior and notes platform-specific UI defaults; check the current browser and platform you use.
