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

cURL can save a webpage or download image URLs you already know, but it does not crawl a site to find every image or make a complete offline copy. Save the HTML with curl, collect the image URLs, then download that explicit list. If you need automatic page-asset discovery or a recursive mirror, use GNU Wget or a browser-aware crawler instead.

What cURL can—and cannot—download

cURL transfers data from URLs you give it. That makes it a good fit for saving a single HTML response, fetching a known set of images, or scripting repeatable downloads. It is not a website mirroring tool: it does not recursively parse HTML, CSS, or JavaScript and discover every resource linked from a page.

  • One page: use cURL to save the response body to a named file.
  • A known set of images: provide each image URL, either as an argument or through a URL list on supported cURL versions.
  • All assets needed to display a page: use a tool that parses page references, such as GNU Wget with --page-requisites.
  • A site-wide mirror: use a crawler-capable tool, set strict scope and rate limits, and check the site’s access rules.

A downloaded HTML file is not necessarily an offline-ready webpage. Its links may still point to remote files, and a browser may be unable to load images or stylesheets that were not separately saved.

Save one webpage with cURL

To download the HTML response for a page and save it as index.html, run:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
Lexar D40E 128GB Dual USB 3.2 Gen 1 Type-C Jump Drive, Champagne Silver
  • USB-C 2-in-1 storage OTG: The Lexar JumpDrive Dual Drive D40E features USB Type-A and Type-C connectors in a slim, portable form factor for easy device compatibility
  • Transfer speeds up to 100MB/s: Based on internal testing, performance may vary depending upon the host device, interface, and usage conditions. 1MB=1,000,000 bytes
  • Plug and Play: Widely compatible with USB Type-C smartphones, tablets, laptops, Macs, and traditional Type-A devices, no software installation required. The 360° swivel design allows for easy switching between connectors without the hassle of losing a cap
  • Durable & Compact: The Lexar D40E USB memory stick features a metal enclosure, withstands temperatures from 0° to 50° C (32°F to 122°F), and is lightweight at 26g with dimensions of 70.4 x 16.9 x 11.7mm
  • Security & Warranty: Securely protects files using an advanced security software solution with 256-bit AES encryption. Backed by a Lexar 3-year limited warranty
curl -L --fail --output index.html https://example.com/
  • -L follows HTTP redirects, so the request can reach the destination if the URL redirects.
  • --fail treats HTTP error responses as failures instead of quietly saving an error page as if it were the requested content.
  • --output index.html writes the response body to that filename. The shorter equivalent is -o index.html.

Replace the example URL with the page you are authorized to retrieve. The command saves the response body; it does not render the page as a browser would. A JavaScript application can return a small HTML shell while loading its visible content and images later through browser requests. cURL does not execute that JavaScript.

To check which cURL options your installed version supports, run curl --version and consult its local manual with man curl. Option availability can vary by installed version.

Download images when you have their URLs

First inspect the saved HTML or the page source in a browser and collect the image URLs you want. Keep one absolute URL per line in a file such as image-urls.txt:

https://example.com/images/logo.png
https://cdn.example.com/photos/hero.jpg

For a short, known list, pass the URLs directly. This command creates the destination directory if needed and derives each output filename from its URL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl --create-dirs --output-dir site/assets --remote-name-all 
  https://example.com/images/logo.png 
  https://cdn.example.com/photos/hero.jpg

--output-dir selects the local destination, --create-dirs makes missing directories, and --remote-name-all applies remote-name behavior to each supplied URL. Without a naming option, specify an output name for each transfer using -o; -O uses the remote name for a single URL.

Rank #2
SANDISK 128GB Ultra Flair, USB-A Flash Drive, Up to 150MB/s Read Speeds
  • High-speed USB 3.0 performance of up to 150MB/s(1) [(1) Write to drive up to 15x faster than standard USB 2.0 drives (4MB/s); varies by drive capacity. Up to 150MB/s read speed. USB 3.0 port required. Based on internal testing; performance may be lower depending on host device, usage conditions, and other factors; 1MB=1,000,000 bytes]
  • Transfer a full-length movie in less than 30 seconds(2) [(2) Based on 1.2GB MPEG-4 video transfer with USB 3.0 host device. Results may vary based on host device, file attributes and other factors]
  • Transfer to drive up to 15 times faster than standard USB 2.0 drives(1)
  • Sleek, durable metal casing
  • Easy-to-use password protection for your private files(3) [(3)Password protection uses 128-bit AES encryption and is supported by Windows 7, Windows 8, Windows 10, and Mac OS X v10.9 plus; Software download required for Mac, visit the SanDisk SecureAccess support page]

For cURL versions 8.13.0 and later, the manual documents reading full URLs from a file with --url @filename. For example:

curl --create-dirs --output-dir site/assets --url @image-urls.txt

On older versions, pass the URLs as arguments with --remote-name, or generate repeated -O arguments in a script. Check curl --version before relying on file-input syntax.

Review names and URL formatting before a large batch

Remote-name downloads can overwrite files when different URLs have the same final filename. Query-string URLs also deserve review: their path may not contain a useful filename, and a URL may identify a transformed or access-controlled image rather than a static file. Check the destination before running a large list, and use explicit -o output names when you need predictable, unique local filenames.

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

URLs containing shell metacharacters, spaces, or ampersands must be quoted appropriately when passed as command-line arguments. In a URL-list file, verify that every line is a complete URL and that the file does not contain copied markup or surrounding quotation marks.

Make a local copy that works offline

Downloading the HTML and a few images is not the same as mirroring a website. For offline browsing, you need the page’s referenced stylesheets, scripts, images, and other resources, and links may need rewriting so they resolve to local files. cURL does not discover or rewrite those references.

Rank #3
2 Pack 64GB USB Flash Drive USB 2.0 Thumb Drives Jump Drive Fold Storage Memory Stick Swivel Design - Black
  • What You Get - 2 pack 64GB genuine USB 2.0 flash drives, 12-month warranty and lifetime friendly customer service
  • Great for All Ages and Purposes – the thumb drives are suitable for storing digital data for school, business or daily usage. Apply to data storage of music, photos, movies and other files
  • Easy to Use - Plug and play USB memory stick, no need to install any software. Support Windows 7 / 8 / 10 / Vista / XP / Unix / 2000 / ME / NT Linux and Mac OS, compatible with USB 2.0 and 1.1 ports
  • Convenient Design - 360°metal swivel cap with matt surface and ring designed zip drive can protect USB connector, avoid to leave your fingerprint and easily attach to your key chain to avoid from losing and for easy carrying
  • Brand Yourself - Brand the flash drive with your company's name and provide company's overview, policies, etc. to the newly joined employees or your customers

GNU Wget is a better starting point when you want automatic page-asset discovery. Its --page-requisites option retrieves files needed to display an HTML page, including referenced stylesheets and images. This command starts from one page and converts links for local browsing:

wget --page-requisites --convert-links --adjust-extension 
  --no-parent https://example.com/path/page.html

--no-parent helps prevent retrieval from climbing above the starting path; --convert-links rewrites links for local use; and --adjust-extension adjusts filenames for locally saved documents. Inspect the resulting directory: dynamic content, protected resources, or site-specific behavior can still prevent a perfect offline copy.

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

For a broader recursive mirror starting at a site’s root, GNU Wget provides --mirror:

wget --mirror --convert-links --adjust-extension 
  --no-parent https://example.com/

This is substantially broader than downloading one page. Restrict the start URL to the intended domain and path, choose a download location with enough storage, and set a considerate request rate. A mirror can retrieve a large number of pages and files; review the site’s terms and robots policy before proceeding. Do not assume a command’s scope will be limited to what you intend—inspect the URLs and output it is collecting.

Choose the right approach

Need Best fit What to expect
Save one HTML response under a known filename cURL with -o or --output One response body; no automatic asset discovery or link rewriting.
Download a reviewed set of image URLs cURL with --remote-name-all or explicit output names Only the URLs supplied are transferred; check filename collisions and URL formatting.
Fetch resources referenced by one page for local viewing GNU Wget with --page-requisites Wget discovers page requisites and can convert links, but dynamic or protected content may remain unavailable.
Recursively retrieve a site GNU Wget with a carefully scoped --mirror command Potentially large retrieval; define scope, rate, storage, and access-policy limits.
Capture a visual image or PDF of a rendered page A browser-based capture tool or screenshot API A screenshot is a visual record, not a collection of the site’s HTML and image files for offline browsing.

Common problems and fixes

The saved HTML is an error page

Check the command’s exit status and the response URL. -L follows redirects, while --fail helps signal HTTP errors rather than treating their response bodies as successful downloads. If access requires authentication or the server rejects automated requests, follow the site’s authorized access process; do not assume that repeating the request will make the content public.

Rank #4
SIMMAX 32GB Memory Stick USB 2.0 Flash Drives Swivel Thumb Drive Pen Drive (32GB Purple)
  • GOOD VALUE PACKAGE - 1 Pack 32GB Memory Stick USB 2.0 Flash Drives with great cost performance and high quality.
  • BIG CAPACITY - The available capacity: 29.10GB-29.8GB, You can save the data of movies, music, photos, designs, programs, manuals, handouts in a high speed.Good performance in digital data storing, transferring and sharing with families, friends, workmates, clients and machines.
  • EASY TO USE & PLUG AND WORK - Support windows 7 / 8 / 10 / Vista / XP / 2000 / ME / NT Linux and Mac OS, Compatible with USB2.0 and below.
  • TWISTTURN DESIGN & EASY CARRY - The metal clip rotates 360° round the ABS plastic body which with rubber oil skin feeling finish. The capless design can avoid lossing of cap, and providing efficient protection to the USB port.
  • WARRANTY & SUPPORT - SIMMAX logo is laser printed on the USB connector surface, our products are of good quality and we promise that any problem about the product within one year since you buy.

The page opens, but images or styling are missing

The HTML file contains references, not necessarily the referenced files. cURL does not follow those references to assemble a site. Download the known resource URLs explicitly, or use Wget’s page-requisites mode for an initial attempt at a local page copy.

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

Some images never appear in the saved page source

Pages can create image requests after JavaScript runs, including lazy-loaded images. A plain HTTP transfer does not execute the page’s client-side code and cannot see those runtime requests. Inspect the browser’s network requests and export the actual image URLs, or use a browser-aware crawler.

Files overwrite one another or have confusing names

Two URLs can end in the same basename, and URL query strings may not produce a useful local name. Choose unique output names with -o for important files, or review and separate the URL list before using remote-name behavior.

The URL-list command is rejected

--url @image-urls.txt is documented for cURL versions beginning with 8.13.0. On an older installation, upgrade through your normal package source or supply URLs individually with --remote-name. Also check that the list uses one full URL per line and that paths are quoted correctly when generated by a shell script.

The mirror is much larger than expected

A recursive command may discover many pages and resources. Stop it if the scope is wrong, narrow the starting URL and path, set a suitable rate limit, and direct output to a monitored location. Review access rules before restarting with a corrected scope.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
IMEASON Swivel Design 16GB USB Flash Drive with Keychain, USB 2.0 Portable Thumb Drive Memory Stick, FAT32 Format Flashdrive for Data Storage, Photos, Music, Files (Black, 16 GB)
  • 【16GB Flash Drive】USB flash drives with 16GB capacity, meet your needs of daily use on work, school, home and travelling for photos, music, videos, files storage and transfer. IMEASON thumb drives can be used to store different files, easy to data backup.
  • 【Metal Swivel Cap Design】USB thumb drive is metal swivel cover provides extra protection for the usb thumbdrive connector, no usb drive cap to lose; keychain design makes it easier to carry without worrying lose it.
  • 【Wide Compatibility】USB drive supports Windows 7/8/10/11 / Vista / XP / Unix / 2000 / ME / NT Linux and Mac OS, also Supports USB 2.0 and 1.1 ports. USB Stick support TV, desktop, notebook computer, car, audio and other device. The USB Memory Stick is your great data storage and transfer companion with traveling and working.
  • 【Easy to use】usb memory stick is plug and play without any software installation. Just simply plug the Flashdrive into the port of your USB-compatible devices such as computer, laptop to start data storage or transmission.
  • 【What You Get】16 GB USB Flash Drive Thumb Drive, The default format of the usb storage flash drive is FAT32.
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 clean visual capture rather than downloadable source files, ScreenshotNeo can return a screenshot or PDF through one GET request. For example, this cURL command saves a WebP capture:

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

See the ScreenshotNeo API documentation for request options. Before capture, it can accept cookie or consent banners and remove more than 60 known consent platforms, newsletter popups, and chat widgets; each of those steps can be turned off. Bot checks or CAPTCHAs, blank pages, timeouts, failed loads, and cache hits are not billed, and response headers identify the page verdict and billing status. An MCP server provides take_screenshot, get_page_info, and capture_pdf tools for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots. This captures rendered output—it does not replace a crawler when you need a site’s files for offline use.

Sign up for ScreenshotNeo free: 1,000 screenshots a month, no card required.

Frequently Asked Questions

Does cURL have a direct equivalent to Wget’s --mirror?

No. cURL transfers URLs you supply; it does not recursively discover and retrieve a site’s linked pages and assets.

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

Can I use cURL to download images that require JavaScript to appear?

Only if you obtain the final image URLs separately. cURL does not run the page’s JavaScript to discover runtime image requests.

Is a screenshot the same as downloading a website?

No. A screenshot records rendered pixels (or a PDF); downloading a site for offline browsing requires the underlying documents and resources.

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.