Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.
For a navigable offline copy of a website, use HTTrack in “Download web site(s)/mirror” mode. Give it the site root, constrain the crawl to authorized hosts, and let it download HTML, CSS, JavaScript, images and fonts while rewriting links for local browsing. A crawler can only fetch URLs it discovers; JavaScript that creates routes or API requests at runtime may require browser-assisted discovery and manual additions.
Choose the right capture method
| Method | Best for | Important limitation |
|---|---|---|
| HTTrack | A multi-page offline mirror with rewritten links, resumable updates and broad asset support. | It does not execute arbitrary JavaScript, so runtime-generated URLs can be missed. |
| GNU Wget | Scriptable command-line downloads with explicit recursive and host-scope controls. | You must select and verify the exact recursion, conversion and scope flags for your installed version. |
| Browser Save Page | A single page or a quick local reference. | It is not a complete multi-page site package and can omit resources loaded after navigation. |
| DevTools Network panel | Finding the files a browser actually requested, including lazy chunks and API calls. | Inspection alone does not create a coherent offline mirror; discovered URLs still need to be captured and tested. |
Only copy sites and paths you are authorized to reproduce. Exclude login, checkout, administration and user-specific URLs unless you have explicit permission. A local copy does not grant redistribution rights.
Before you start: define a safe mirror
- Set the root: decide whether you need one path, one host or selected CDN hosts.
- List exclusions: logout links, carts, search results, session URLs and infinite calendars can create huge or unsafe crawls.
- Set limits: large sites need maximum depth, file-size and total-size limits.
- Check access: authenticated pages require an authorized browser session and often depend on APIs, tokens or server state that will not replay offline.
- Plan verification: keep the crawl log and test representative pages with networking disabled.
Download a site with HTTrack
Graphical workflow
- Install HTTrack for your operating system and open it.
- Create a new project and choose Download web site(s) (the mirror option).
- Enter the site root, such as
https://example.com/. - Open the scan rules and keep the crawl inside the intended host. Add permitted CDN hosts only when the site’s CSS, scripts, fonts or images genuinely come from them.
- Add exclusions for paths such as
*/logout*,*/cart*, search endpoints and calendar parameters that generate unbounded URLs. - Choose a destination directory, review depth and size limits, then start the mirror.
- Let the job finish or pause it safely. HTTrack can resume and update an existing mirror rather than starting over.
HTTrack copies the discovered HTML and referenced stylesheets, scripts, images and fonts, then rewrites links so the local copy can be browsed. It supports HTTPS and proxies and can follow responsive and lazy-loaded media when those resources are discoverable.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →Command-line starting pattern
httrack "https://example.com/" -O "./mirror"
"+example.com/*" "+cdn.example.com/*"
-"*/logout*" -"*/cart*"
This is a starting pattern, not a universal preset. Confirm option syntax in the manual for your installed HTTrack version. Add depth and size limits for large sites, and exclude session, search and infinite-calendar URLs. The command-line documentation also covers resume/update behavior, filters and archival WARC/WACZ output.
#1 Best Overall
- Easily store and access 2TB to content on the go with the Seagate Portable Drive, a USB external hard drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Why JavaScript assets are missing
Markup-discovered files versus runtime requests
A crawler can fetch a script listed in HTML, a stylesheet, or a crawlable response. It generally cannot know every URL that will be constructed only after code runs. A single-page application may load a small bootstrap bundle first, then request route chunks, images or data only when a user clicks a link. Those later resources can be absent from an otherwise successful mirror.
Browser-assisted discovery
- Open the application in an authorized browser session.
- In DevTools, open Network, preserve the log, and reload.
- Exercise each route, menu, modal and lazy-loaded section you need offline.
- Filter for JavaScript, CSS, fonts, images and fetch/XHR requests. Note chunk URLs and runtime API endpoints.
- Export the request list or record the URLs, then add permitted static resources to your mirror’s include rules.
- Repeat the offline test and inspect the console for additional missing chunks or blocked requests.
API responses are not the same as static assets. An offline copy may need recorded data or a local replacement service; access tokens and server-side state normally cannot be recreated by simply downloading files.
Handling CSS, fonts, images and lazy loading
- CSS: verify that rewritten
url()references point to local font and image files. - Fonts: check every weight and format requested by the live page; a missing font often appears as a layout or icon problem.
- Responsive assets: test several viewport widths because a page may request different image sources at different breakpoints.
- Lazy content: scroll through representative pages during browser discovery so deferred images and sections are requested.
- Third-party hosts: include only CDN domains you are allowed to copy and actually need; broad wildcards can pull in unrelated content.
Verify that the mirror is complete
- Open the saved index and several deep links with networking disabled.
- Watch the browser console for missing chunks, fonts, images and blocked API calls.
- Review the Network panel to identify requests still leaving the local filesystem or failing.
- Search downloaded HTML, CSS and JavaScript for absolute URLs and runtime API endpoints.
- Compare representative pages with the live site at desktop and mobile widths, including lazy-loaded sections.
- Keep the crawl log, rule set and date. For archival work, use HTTrack’s documented WARC/WACZ export where appropriate.
Common failures and fixes
The index opens, but navigation is broken
Relative links may point outside the captured scope, or the site uses client-side routes. Add the required host/path rules, capture the route chunks through browser-assisted discovery, and test direct deep links locally.
PC Slower Than It Used to Be?
A free scan shows the junk files, broken settings and background clutter dragging Windows down - then fixes them in one click.Free scan · Windows 10 & 11Outdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchRank #2
- Easily store and access 5TB of content on the go with the Seagate portable drive, a USB external hard Drive
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
The page is unstyled
Inspect the HTML for the stylesheet URL and the console for 404s. Include the stylesheet’s host, then verify that its relative image, font and imported CSS URLs were downloaded.
JavaScript loads, but the app shows a blank screen
Look for missing lazy chunks or API requests. Capture every route you exercise, then decide whether the application needs a local data fixture or a replacement endpoint rather than another static file.
The crawl never finishes
Search, session and calendar parameters can create effectively infinite URL sets. Add exclusions, narrow host rules, and enforce depth and size limits. Resume from the existing project after correcting the rules.
Rank #3
- Easily store and access 1TB to content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop. Reformatting may be required for Mac
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Authenticated pages fail offline
Authentication cookies and tokens may expire, and server-side permissions or data are unavailable locally. Capture only content you are authorized to reproduce and plan a separate offline data strategy.
Free tools Windows power users keep installed
One-click scans. No signup required.
Images appear only after scrolling
They are likely lazy-loaded. Scroll through the live page during discovery, confirm the image requests, and include the resulting URLs before rebuilding the mirror.
Performance, reliability and archival considerations
Scope is the main performance control: fewer hosts, bounded depth and explicit exclusions reduce requests and storage. A crawl log makes failures reproducible, while HTTrack’s resume/update behavior avoids discarding a useful partial mirror. For long-term preservation, retain the original rule set and consider WARC/WACZ output; for ordinary local browsing, the rewritten mirror is usually sufficient.
Rank #4
- Easily store and access 4TB of content on the go with the Seagate Portable Drive, a USB external hard drive.Specific uses: Personal
- Designed to work with Windows or Mac computers, this external hard drive makes backup a snap just drag and drop
- To get set up, connect the portable hard drive to a computer for automatic recognition no software required
- This USB drive provides plug and play simplicity with the included 18 inch USB 3.0 cable
- The available storage capacity may vary.
Respect site-owner instructions and keep request rates reasonable. Do not treat a successful download as proof that every interactive feature is preserved: compare behavior, not just file counts.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Or skip the browser setup
If you need a clean image or PDF of a URL rather than a full offline mirror, ScreenshotNeo provides a single-request website screenshot API. It accepts cookie and consent banners before capture and removes more than 60 known consent platforms, newsletter popups and chat widgets; each step can be disabled. Bot checks, CAPTCHAs, blank pages, timeouts, failed loads and cache hits are not billed, and response headers identify the page verdict and billing result. Its MCP server lets Claude, Cursor and other MCP clients call take_screenshot, get_page_info and capture_pdf.
The Tool Desk
Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →See the ScreenshotNeo API documentation for all options, including full-page lazy-image loading, CSS-selector element capture, dark mode, device presets, custom viewport and retina scale, PDF paper and margin controls, custom CSS and JavaScript, clicks, waits, request blocking, headers, cookies, user agents, authorization, timezone, geolocation, transparent backgrounds, resizing, chosen cache TTLs, signed image links, asynchronous webhooks, bulk capture of up to 100 URLs per call, usage reporting and the OpenAPI specification.
One-call examples
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
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)
const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);
The Free plan includes 1,000 screenshots each month with no card. Paid plans start at $5 for 3,000 shots; yearly billing gives two months free, and every feature is included on every plan. Create a free ScreenshotNeo account.
Best Value
- Plug-and-play expandability
- SuperSpeed USB 3.2 Gen 1 (5Gbps)
Frequently Asked Questions
Can I legally mirror any public website?
No. Copy only sites and paths you are authorized to reproduce, follow applicable site-owner instructions, and remember that a local mirror does not grant redistribution rights.
Will HTTrack preserve a login session?
It can retrieve authorized content only when access is configured, but tokens, cookies, APIs and server-side state often prevent that content from working as a self-contained offline site.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Is downloading JavaScript the same as downloading a working web app?
No. The app may depend on runtime route discovery, API data, authentication and browser behavior that static files alone do not provide.
The Bottom Line
Use HTTrack for a bounded, resumable offline mirror; use DevTools and a real browser session to discover runtime assets; then test with networking disabled. For a clean rendered screenshot or PDF without assembling a browser workflow, ScreenshotNeo offers the shorter path.
Quick Recap
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.

