What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

For one page in Firefox desktop, use Save Page As and choose Web page, complete. Firefox saves the HTML plus a companion folder containing pictures and other resources needed to display the page. Keep both together, then open the file with your network disconnected to check the result. The Web page, HTML only option creates one HTML file but does not save pictures.

A browser save is a snapshot of what the browser can collect at that moment, not a guarantee that JavaScript applications, logins, videos, or server-generated features will work offline. The methods below help you choose between a single-page copy, individual assets, or a broader site mirror.

Choose the right way to save the page

What you need Best approach Main limitation
One page with its visible pictures and styling Firefox Web page, complete Creates an HTML file and companion directory; link structure may change.
Only the HTML markup and text Firefox Web page, HTML only No pictures are saved.
One image, stylesheet, or script Firefox Page Info > Media You must identify and save each resource yourself.
A browsable local copy of many pages HTTrack It depends on discoverable URLs and does not execute JavaScript.
A rendered visual rather than an offline HTML copy ScreenshotNeo screenshot API It returns an image or PDF, not a self-contained website archive.

For a normal article, product page, or reference page, start with Firefox complete-page saving. Use HTTrack only when you need multiple linked pages, and use a screenshot API when the deliverable is a faithful visual capture.

Save one HTML page with images and CSS in Firefox

  1. Open the target page. Wait for the images and visible content you need. If the page loads content only after scrolling or clicking, perform those actions before saving.
  2. Open the save command. Open the Firefox menu and choose Save Page As (also labeled Save Page in Mozilla’s guidance). Mozilla documents this workflow at How to save a web page.
  3. Choose a filename and destination. Select a local folder where you can keep the HTML file and its resources together.
  4. Select the format. In the format selector, choose Web page, complete. Mozilla describes this choice as saving “the whole web page along with pictures.”
  5. Save without separating the files. Firefox creates the HTML file and a companion directory for pictures and other files needed to display it. Do not rename, move, or email only the HTML file.
  6. Test the saved copy. Disconnect from the internet, open the saved HTML file, and inspect the images, fonts, layout, and links that matter to you.

What the companion directory contains

The directory normally holds downloaded images, stylesheets, scripts, and other resources Firefox associated with the page. Its name is tied to the HTML filename, so changing one without the other can break relative paths. If you share the copy, compress the HTML file and its directory in the same archive.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why the complete option can alter links

Mozilla cautions that Web page, complete may not preserve the original HTML link structure. Firefox rewrites references so the local file can point to the downloaded resources. That is useful for an offline snapshot, but it is not the same as preserving the site’s original source tree.

HTML only versus complete page

Choose Web page, HTML only when you need the markup in one file, want to inspect the document structure, or plan to fetch assets separately. This format preserves the original HTML link structure but saves no pictures, so a page that depends on external CSS, images, or fonts will not look complete when opened offline.

Choose Web page, complete when visual appearance matters. It is the practical Firefox answer to “How do I save a webpage with pictures?” Keep in mind that a saved rendering is not a full export of an application’s data or behavior.

Save a particular image, stylesheet, or script with Page Info

If you do not need the entire page, Firefox’s Page Info window can save individual resources. Mozilla documents a Media panel for retrieving elements such as images, image scripts, and stylesheets at the same support page: Firefox Page Info guidance.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Open the page in Firefox.
  2. Open the page’s Page Info window.
  3. Choose the Media panel.
  4. Select the resource you need from the list.
  5. Use the save control, choose a destination, and then update your local HTML or CSS references if you are assembling a page manually.

This approach is useful when a complete save missed one asset or when you need a stylesheet or image for a small, documented extraction. It is not a substitute for saving every dependency of a complex page.

Save a page in Chrome

Chrome’s documented menu path is Cast, save, and share > Save page as…. The Google Chrome Help reference is Read pages later & offline. Select a destination, save the file, and open it offline to verify the result.

Chrome’s help search excerpt does not establish the exact format labels available in every current desktop release. If the dialog offers a complete-resource option, use it for pictures and styling; if it offers only an HTML file, expect externally referenced assets to remain unavailable without a network connection. For the most explicit complete-versus-HTML-only labels, Firefox’s workflow above is clearer.

Mirror multiple pages with HTTrack

HTTrack is free software that downloads a site into a local directory, keeps relative links for offline browsing, and can resume or update an existing mirror. Its official site identifies version 3.50-4 (2026-09-25): HTTrack Website Copier.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Start with a narrowly scoped capture

Begin with one page or a small path so you can see which resources the site exposes before expanding the mirror. The official command-line guide documents connection and rate controls and the --near option for fetching linked, non-HTML requisites that may sit outside the normal crawl scope: HTTrack command-line guide.

A typical command-line shape is:

httrack "https://example.com/" -O "./example-mirror"

Replace the URL and output directory with your target. Add only the scope and connection options you understand. The guide warns that --near can over-fetch an external host, so inspect the result before using it on a broad site.

Understand JavaScript limits

HTTrack parses HTML and CSS but does not execute JavaScript. If a page creates an image URL at runtime—for example, script-driven lazy loading—the crawler may never see that URL, leaving the saved copy without the asset. Scroll-triggered galleries, client-rendered articles, and application screens are therefore less reliable mirror targets than ordinary server-rendered HTML.

Use single-file mode carefully

HTTrack’s single-file option embeds saved stylesheets, scripts, images, and fonts as data: URIs. The guide describes a default per-asset ceiling of 10 MB. Assets above that limit, audio and video, and links between pages can remain external. “Single file” therefore does not mean every behavior or every media resource is self-contained; open the result and test it offline.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Why images or CSS are missing

The HTML file was saved alone

If you selected HTML-only mode or moved only the .html file, the page has no local pictures or stylesheets to load. Re-save with Firefox’s Web page, complete option and keep the generated directory beside the HTML file.

The resource was generated after the initial load

Lazy-loaded images and URLs created by JavaScript may not exist in the document at save time. Scroll through the page and trigger the content before saving in a browser. HTTrack cannot solve this class of problem because it does not execute JavaScript.

The saved references point somewhere unexpected

Open the HTML source and inspect the src, href, and CSS url() references. Firefox complete-page saving may rewrite link structure, while a manually moved companion directory can invalidate relative paths. Restore the original file pairing and directory layout before editing references.

The site relies on remote or interactive services

Login screens, live data, embedded video, maps, chat, and other server-side features may still need the original service. A successful visual save does not imply that forms submit, accounts authenticate, or application state works offline.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The mirror is unexpectedly huge

Reduce the crawl scope and start again. HTTrack’s guide documents rate and connection controls; use them to avoid fetching an entire external host accidentally, especially when experimenting with --near.

Verify an offline copy before relying on it

  • Turn off Wi-Fi or unplug the network before opening the file.
  • Check the page at several widths if responsive layout matters.
  • Inspect representative images, background images, icons, and fonts.
  • Open a few internal links and note which ones are intentionally external.
  • Look for blank areas caused by JavaScript, blocked requests, or missing lazy-loaded assets.
  • Keep the original URL and capture date in a note beside the archive so the snapshot has context.

For a one-page record, this check is usually enough. For a site mirror, test several page types and the largest assets before distributing the copy.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

If you need a rendered screenshot or PDF rather than an editable offline HTML archive, ScreenshotNeo makes one GET request to capture a URL. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers.

Use the API documentation at screenshotneo.com/docs/ for the full option set. The following calls use https://example.com; replace only the target URL and your access key.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

cURL

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

Python

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://example.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://example.com' }); const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

ScreenshotNeo supports PNG, JPEG, WebP, and PDF output. Its 63 options include full-page capture with lazy images loaded, CSS-selector element capture, dark mode, 12 device presets plus custom viewports, retina scale, PDF paper size and ranges, custom CSS and JavaScript, pre-capture clicks, hidden selectors, selector or network-idle waits, ad and tracker blocking, custom headers and cookies, user agents and Authorization, timezone and geolocation, transparent backgrounds, resizing, selectable cache TTLs, signed links, asynchronous jobs with signed webhooks, bulk capture for 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 a migration.

Every feature is available on every plan. Pricing is:

Plan Included shots Price
Free 1,000 per month $0, no card
Starter 3,000 $5
Growth 15,000 $15
Pro 60,000 $39
Scale 250,000 $99
Business 1,000,000 $249

Yearly billing gives two months free. An MCP server also provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. If that matches your workflow, create a free ScreenshotNeo account for 1,000 screenshots a month with no card.

Cost, reliability, and format decisions

When a local save is best

Firefox and HTTrack save files on your computer without an API charge. They are appropriate when you need an editable archive, local search, or a navigable directory and can verify the result yourself.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

When a screenshot is best

A screenshot freezes the rendered appearance and avoids distributing a folder of dependencies. It does not preserve selectable HTML, working links, or application behavior, so it should not replace a complete-page save when those are requirements.

When to keep both

For evidence or documentation, keep the complete HTML copy for text and links and a screenshot or PDF for visual reference. Record the source URL and date, and test each artifact offline before treating it as complete.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.