A reliable image downloader by link workflow starts by checking which image files the rendered page actually loads. When a link will not give you the raw image file, the fastest path to a working copy is a clear diagnosis followed by the right fix. This playbook shows how to tell what the link actually returns, which quick checks to run, and which actions to take. Examples use Image Downloader Pro for scanning and exporting, and the instructions include explicit manual steps you can follow in your browser.
Symptom: what "won't download" looks like
Confirm which of these matches your situation before changing settings:
- The link opens a blank page, an HTML wrapper, or a tiny placeholder instead of the expected image.
- You see a low-resolution image or a placeholder in the link's tab while the product page shows a high-resolution photo.
- Right-click Save image as is disabled or the direct download returns an error such as 403 or 401.
- The download completes but the file is zero bytes, corrupted, or renamed unexpectedly.
Quick checklist - fast eliminations (do these first)
- Open the link in a private or incognito window to rule out other extensions or cached responses interfering.
- Copy the link and open DevTools - Network panel. Reload the link and inspect the request. Look at the response headers: content-type and status code. A content-type that starts with image/ and a 200 status mean the server returned image bytes.
- Check the URL path and filename. Is the extension one you expect, such as .jpg, .png, or .svg, or does it end in a script name or include query tokens?
- Try the link in a different browser. If it works elsewhere, the issue is local to your browser profile or extensions.
Stepwise diagnosis - follow this order
Run tests in order and stop when you find the cause. Each test maps to a specific fix below.
- Does the URL return image bytes? In DevTools Network, the request should show content-type: image/jpeg or similar and a 200 response. If you see text/html, you have an HTML page, not raw image bytes.
- Is the image added only by JavaScript or lazy loading? Some pages inject high-resolution images only after interaction. Check the page that displays the image, interact with any gallery or lightbox, then rescan or re-request the asset.
- Is the server responding with 403, 401, or 302? A 403 often points to hotlink protection that checks the Referer header. A 302 may redirect to an auth page or an expiring token flow.
- Does the URL contain signed tokens or timestamps? Many CDNs use query strings like ?sig= or ?expires=. Those URLs can expire or be single-use.
- Is the returned file a tiny placeholder? Look at the response size and dimensions. A few kilobytes and small dimensions usually mean a placeholder or derivative, not the original asset.
Fixes by cause - precise actions to try
1) The URL returns HTML or a redirect
- Open the link in a normal tab and use View Source or DevTools Elements to find the actual img src attribute. Copy that src and try it directly. If the page builds the image dynamically, open the page where the image is embedded and use Image Downloader Pro to scan after the image appears.
- Manual steps: open the product page, right-click the image and choose Inspect. In Elements, locate the img element or background-image rule and copy the resource URL shown. Paste that into a new tab and test download again.
2) Lazy loading or JavaScript-only images
- Trigger on-page actions that reveal the full image: scroll the gallery, click thumbnails, or open the site lightbox. After the image appears, open the extension and run a scan of the active tab. Image Downloader Pro can detect many images that appear after interaction.
- If the gallery uses multiple sizes, use the extension filters or the best-version toggle to pick the largest variant before downloading.
3) Hotlink protection or CORS blocks
- Download from the page context rather than the direct URL. When you scan the page with Image Downloader Pro, the browser sends the same Referer header and cookies the server expects, which often avoids 403 responses that happen when requesting the URL directly.
- If you must obtain a direct file for automated use, fetch the image from a server you control that sets the appropriate headers. Only do this if you have the right to copy the asset; the extension does not grant license or permissions.
4) Expiring tokens or signed CDN URLs
- Capture the image while the token is valid by scanning the active product page and saving immediately. Use the extension to download or to export a ZIP right away.
- For long-running workflows, ask for non-expiring assets from the platform or request a catalog export that includes stable URLs or files.
5) Placeholder files and resized derivatives
- Check the scan results for file size and reported dimensions. If the file is a few KB and small dimensions, it is a placeholder. Interact with the site until the real image loads, then rescan.
- If the original format is not available, choose a supported conversion format when downloading from the extension. Conversion will fall back to the original when the chosen format is unavailable.
Decision aid - choose the right workflow
Pick the approach that matches how many files you need and how you plan to use them.
- Single image, quick copy: Open the page, confirm the img src in DevTools, or use the extension preview and single-download from the popup.
- Many images on one page or across tabs: Use Mass Scan for open tabs or import a list of URLs so the extension aggregates results into the Library. Then select and batch-download or export a ZIP.
- Keep filenames and metadata intact: Export a ZIP and separately export a CSV with the columns you need. The CSV is a separate file and is not automatically attached to the ZIP, so store them together when you move or archive downloads.
- Need server-side automation: The extension is local-first and not a headless crawler. Use a server fetch that sets the Referer and other headers you need, or request platform exports for automated workflows.
Pro tip: If DevTools shows a 403 or 302 for the direct image URL but the page displays the image, download from the page context rather than the direct URL. The browser includes headers and cookies the CDN checks, and Image Downloader Pro will use that same context when it scans the active tab.
Why this works: many CDNs and sites check incoming headers and cookies. Requesting the image while viewing the page keeps those headers intact and avoids forbidden errors without changing server configuration.
Advanced options and when to ask for help
If the steps above do not produce the original file, try these next moves and know when to involve the site owner.
- Authenticate first if the asset requires it. Sign in to the site, confirm the image displays, then scan or download.
- For streaming, encrypted blobs, or assets delivered only by a private API, the extension may not detect the original. These are server-side protections. Contact the content owner or platform support and request a proper export.
- When you need SKU-level filenames, plan a manual mapping step. Use the extension's renaming tokens when the SKU appears in the source filename. Otherwise export the CSV and join it with your product catalog in a spreadsheet or script to create SKU-based filenames.
Practical checklist to resolve a single failing link
- Open the link in a private window. If it still fails, move to step 2.
- Open DevTools - Network and reload. Confirm content-type and status code.
- If content-type is HTML, inspect the page to find the actual img src and test that URL.
- If status is 403 or 302, open the page where the image displays and scan with Image Downloader Pro to download from the page context.
- If the URL has tokens and will expire, download now and store the file, or request non-expiring assets from the source.
Resources and next steps
Run a scan with Image Downloader Pro to collect images after you interact with the page. The extension supports Mass Scan across tabs, filtering by width, height, file size and type, a best-version toggle for multiple sizes, and export of ZIP plus a selectable-column CSV. Read the full usage details in the documentation: Image Downloader Pro documentation. Try the extension at Image Downloader Pro.
If you want help with a specific failing link, gather the link, a screenshot of DevTools Network for that request, and the steps you ran. With those details you or a support agent can pinpoint whether the issue is client-side, a CDN policy, or a server-side protection.
Try Image Downloader Pro to scan the page, pick the best version of detected images, and export a ZIP plus CSV to keep filenames and metadata together.