ScreenshotNeo

BlogHow-to

How to Save a Website for Offline Viewing in Firefox

Save a Firefox page with its images, export it as PDF, or package everything into one HTML file for reliable offline reading.

By the ScreenshotNeo team1 October 20267 min read

Fast answer: Open the page in Firefox, wait for it to finish loading, choose Menu > Save Page As, select Web page, complete, choose a folder, and click Save. Firefox saves the HTML file plus a companion folder containing pictures and other resources needed to display the page. For a fixed, printable copy, use Menu > Print > Save to PDF. If you need one self-contained HTML file, use the SingleFile Firefox extension.

1. Choose the right offline format

Goal Use Trade-off
Keep the retrieved page and its images Web page, complete Creates an HTML file and companion folder; scripts may not work offline.
Keep markup and links in one small file Web page, HTML only Does not include pictures.
Make a stable document for reading or printing Print > Save to PDF Print CSS can differ from the screen layout.
Put CSS, images, fonts and frames in one HTML file SingleFile extension Requires an extension whose version, permissions and destinations can change.
Archive many linked pages Dedicated site-mirroring tool Firefox Save Page As targets the current page, not an entire site.

2. Save a complete webpage with pictures

  1. Open the page in Firefox.
  2. Scroll through the page if it uses lazy-loaded images, and wait for important content to appear.
  3. Open the Firefox menu and select Save Page As.
  4. In the format menu, choose Web page, complete.
  5. Choose a destination and filename, then click Save.
  6. Keep the saved .html file beside its companion directory. Firefox stores images and other required resources there.
  7. Open the HTML file from your file manager to check it offline. If assets are missing, confirm that the companion folder was moved with the HTML file.

Mozilla documents this format as the way to save the whole page with pictures. The saved copy is a snapshot of what Firefox retrieved and may not preserve the original HTML link structure.

What the complete format captures

  • The page markup Firefox received.
  • Images and other resources that Firefox downloaded and associated with the page.
  • Some CSS and page assets referenced during loading.

It does not turn a web application into a fully working offline application. Server requests, login sessions, live search, video streams, forms and JavaScript features can still require an internet connection.

3. Save HTML without images

Select Web page, HTML only in the Save Page As format menu. Firefox writes one HTML file and preserves the original HTML link structure, but it omits pictures and other downloaded resources. This is useful when you need compact markup for editing, inspection or later processing.

Other Save Page As formats

  • Text files: saves a readable text representation. It does not preserve the original HTML link structure.
  • All files: equivalent to HTML only while allowing an extension such as .htm or .shtml.

4. Save the page as a PDF

  1. Open the page in Firefox.
  2. Choose Menu > Print.
  3. Set Destination to Save to PDF.
  4. Review the preview and adjust pages, orientation, color, paper size, scale, margins, headers and footers, and background graphics.
  5. When Firefox offers Original and Simplified formatting, choose the version that matches your goal. Simplified formatting cannot be used with printed backgrounds.
  6. Click Print, choose a filename, and save the PDF.

PDF is usually the clearest choice for a stable reading or printing copy. Always inspect the preview: websites can define a print layout that differs substantially from their on-screen layout.

5. Put a complete page into one HTML file

Firefox’s built-in complete save normally creates a companion directory. If you need one portable HTML file containing CSS, images, fonts and frames, install SingleFile from the official Firefox Add-ons listing.

  1. Install SingleFile and pin its toolbar button if needed.
  2. Load the page fully. Scroll to trigger lazy content.
  3. Click the SingleFile toolbar button.
  4. Wait for the save to finish, then open the resulting HTML file without a network connection.

SingleFile can also save selected content, selected links, selected tabs, all unpinned tabs or all tabs. Its listing describes optional destinations such as Google Drive, Dropbox and WebDAV. Check the extension’s current version, permissions and destination support before relying on a particular workflow.

6. Handle lazy images, frames and dynamic pages

  • Lazy-loaded images: scroll through the page before saving. An image that has never loaded may not be present in the offline copy.
  • CSS background images: these can be harder to reproduce than ordinary <img> elements.
  • Frames and embedded content: content from another origin may not be saved or may remain dependent on the network.
  • Scripts: scripts can behave differently offline because APIs, cookies, service workers and server endpoints are unavailable.
  • Video and audio: a saved page does not automatically download streaming media.
  • Authentication: private content may fail to render after your session expires or when the local file has no origin.

7. Save one page versus an entire website

Save Page As saves the current page. It does not crawl every linked article, asset URL or section of a domain. A multi-page archive is a separate offline-browser or site-mirroring task. Define the URL scope, crawl depth, robots and permission requirements, and storage plan before choosing such a tool.

8. Verify an offline copy

  1. Disconnect from the network or use a browser profile with networking disabled.
  2. Open the saved HTML file or PDF.
  3. Check representative images near the top, middle and bottom of the page.
  4. Follow a few internal links and note whether they point to local files or back to the live site.
  5. Test any interaction you care about, such as menus, accordions or search.
  6. Record the original URL and capture date beside the archive.

9. Troubleshooting

Problem Likely cause Fix
Images are missing The companion folder was not copied, or images were lazy-loaded. Keep the HTML and folder together; reload and scroll through the page, then save again.
The page looks different offline Print CSS, responsive CSS or scripts changed the layout. Use the format that matches your goal: complete HTML for retrieved assets, PDF for a fixed appearance, or SingleFile for a self-contained HTML archive.
Buttons or forms do nothing The page calls a server or requires cookies and JavaScript APIs. Treat the file as a snapshot. Save a PDF if interaction is unnecessary, or keep the live URL with the archive.
Only part of the page is present Content was loaded after the save began. Wait for network activity to settle, scroll to trigger lazy content, and save again.
Links open the live website Local saving does not rewrite every link into a local archive. Use HTML only when preserving original links is the priority, or use a site-mirroring workflow for linked pages.
PDF has clipped text or blank sections The site’s print stylesheet or page breaks are unsuitable. Inspect print preview; change scale, margins, orientation, backgrounds or Original/Simplified formatting.
Private content disappears The local file has no active login origin or the session expired. Save while authenticated, verify immediately, and keep the original URL for re-access.

10. Performance, reliability and storage

  • Wait for stability: saving too early is the most common reason for missing lazy content.
  • Prefer PDF for fixed records: it avoids dependency on a companion folder and is easy to print, but it may use a different layout.
  • Prefer complete HTML or SingleFile for browsing: these retain more page structure, but scripts and cross-origin resources can still fail.
  • Keep archives together: moving or renaming the companion directory breaks relative asset paths.
  • Plan storage: image-heavy pages and pages with many fonts or frames can create much larger files than HTML alone.
  • Keep provenance: store the source URL, capture date and format with each archive.

11. Or skip the browser setup

If you need a clean image or PDF of a URL rather than an interactive offline copy, ScreenshotNeo provides a website screenshot API and MCP server. One GET request returns PNG, JPEG, WebP or PDF. Before capture it accepts cookie and consent banners and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be turned off. Bot checks, 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.

Read the ScreenshotNeo API documentation for all options, including full-page capture, CSS selectors, device presets, dark mode, custom CSS and JavaScript, waits, blocking rules, cookies, headers, geolocation, transparent backgrounds, resizing, caching, signed links, asynchronous jobs, bulk capture and PDF settings.

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()));

ScreenshotNeo has 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, and every feature is available on every plan. Create a free ScreenshotNeo account.

12. FAQ

Can Firefox save a webpage as one HTML file?

Built-in saving normally creates an HTML file plus a companion directory. Use SingleFile when you need assets packaged into one HTML file.

Will a saved page work without internet?

The retrieved markup and local assets may work, but server-backed features, live data, authentication, streaming media and some scripts will not.

Should I use HTML or PDF?

Choose HTML when you want to inspect or browse the saved structure. Choose PDF when you need a stable document for reading, printing or sharing.

Can Save Page As archive every page on a domain?

No. It saves the current page. Archiving linked pages requires a separate site-mirroring workflow.

Why is my PDF different from the browser view?

Websites can provide print-specific CSS. Use print preview and adjust the available format, scale, margins, orientation and background settings.