Free tools Windows power users keep installed
One-click scans. No signup required.
To import one external image into WordPress, download the file, upload it through Media > Add New (or the editor’s media control), and insert it in your post. That creates a copy in your WordPress Media Library. A remote image URL left in your content is different: the file remains on another server and your site continues to depend on that host.
For many existing URLs, choose a tool according to whether you need automatic imports when content is saved, a one-time bulk migration, replacement of hotlinked images, or ongoing management of files that stay remote.
What “import” means in WordPress
There are two distinct outcomes:
- Localize the image: WordPress downloads a copy into its uploads and Media Library, and your content is changed to use the local media URL.
- Manage a remote file: WordPress keeps the file at an external location while providing library-style management or synchronization. This is not necessarily a local copy.
Local copies reduce dependence on the source host, but they consume your server’s storage and require you to handle licensing, backups, and future updates. Remote management preserves the external storage model, so access to that service and its URLs remains essential.
Import one image with WordPress’s built-in tools
- Open Media > Add New, or open the post or page where the image belongs and use its media control.
- Select the image file from your computer and wait for the upload to finish.
- Insert the uploaded image into the post, then set its alternative text, dimensions, alignment, and link behavior in the editor.
- Save or update the post and confirm that the image displays on the front end.
An upload made from the editor is attached to the current post. An upload made from the general Media Library starts unattached; you can attach it to a post later from the media details screen.
#1 Best Overall
Choose a workflow for images already referenced by URLs
| Need | Suitable workflow | Result to verify |
|---|---|---|
| One or a few images | Download and upload through the Media Library or editor | The post uses the new local media URL and the attachment has suitable alt text |
| Import automatically whenever content is saved | External Image Importer | External URLs are rewritten, duplicates are reused, and the intended markup is handled |
| Process older content in bulk | External Image Importer’s documented WP-CLI processing, or URL Image Importer for URL lists | Every intended post, image, and mapping is accounted for |
| Import from CSV or a WordPress XML export | URL Image Importer | The old-to-new URL mapping is retained and failed or skipped items are reviewed |
| Replace hotlinked images already in posts | Replace External Images | Post content and featured images point to local media |
| Manage files that remain in an external directory | External files in Media Library | The external access model, synchronization behavior, and local-versus-remote storage outcome are understood |
These capabilities come from the respective WordPress.org plugin listings. They are vendor-provided feature descriptions, not independent security or performance tests, so check the current plugin version and compatibility with your site before a large operation.
Automatic import when content is saved
External Image Importer describes a save-time scan that downloads external images into the Media Library and rewrites content URLs. Its listing says it recognizes common image attributes, srcset, Gutenberg block-comment data, and inline CSS background-image URLs. It also describes duplicate reuse and WP-CLI processing for older content.
Rank #2
The listing further describes SSRF defenses, allowed schemes and ports, redirect revalidation, file-content validation, file-size limits, and request-duration limits. Treat those as the publisher’s claims rather than an independent audit. Review the plugin’s current settings and logs, and test with representative content before enabling it on production.
Bulk imports from URL lists, CSV, or XML
URL Image Importer describes importing individual links, CSV files, and WordPress XML export files, with an exportable old-to-new URL mapping. This is useful when a migration gives you a controlled list of source URLs instead of relying on a save-time scan.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Google Drive limitations
Its listing says a Google Drive image must be publicly accessible and directly downloadable without a sign-in. Private files and Drive items that are not actual image files are skipped. A browser-sharing page is not the same as a direct image download, so test a sample URL first.
Replacing hotlinked images in existing content
Replace External Images describes individual and bulk replacement of external images in post content, including featured images. Use this when posts already contain hotlinked URLs and your goal is to rewrite them to local Media Library URLs rather than merely upload new files.
Keeping files remote with Media Library management
External files in Media Library describes importing and synchronizing directories from HTTP(S), FTP(S), SFTP, SSH, and local paths, with additional service plugins for some cloud sources. Its directory workflow may use an automatically processed queue or WP-CLI. Confirm which integrations are currently supported, what credentials and permissions they require, whether synchronization downloads a local copy, and what happens when a remote file is renamed or removed.
Prepare a safe migration
- Back up the database and files. URL rewrites, attachment records, featured-image references, and uploads must all be recoverable.
- Clone the site to staging. Run the selected workflow against a representative sample before touching the live database.
- Inventory the markup. Include normal image sources,
srcset, Gutenberg blocks, inline CSS backgrounds, featured images, and custom fields if your site uses them. - Check source access. Confirm that URLs are publicly fetchable, return an actual image, and do not require an interactive login. Check redirects, HTTPS, rate limits, and robots or firewall rules that could block your server.
- Define storage and naming rules. Confirm upload capacity, allowed formats, duplicate behavior, and how filenames and dates will be generated.
- Run a small batch. Compare the source and destination URLs, image dimensions, alt text, captions, and attachment relationships.
- Validate the front end and editor. Test responsive images, galleries, featured images, caching, and reopening affected posts in the block or classic editor.
- Record failures and mappings. Keep the tool’s reports and old-to-new URL map so skipped files can be corrected without guessing.
Common failure points
The source URL downloads an HTML page
A sharing page, login screen, or redirect destination may not be an image file. Use a direct, publicly accessible image URL and verify the response content, not just the filename.
Recommended Free Tools
Best Value
Only some images are imported
Review which fields and markup the tool scans. Images in custom fields, CSS, galleries, or plugin-specific blocks may need separate handling. Check for private sources, unsupported formats, timeouts, and server storage limits.
Images import but posts still show old URLs
Inspect the rendered HTML and the editor’s stored content. A tool may update selected post fields but not every custom field or generated cache. Clear relevant caches only after confirming the database rewrite is correct.
Featured images or editor controls are missing
Verify that the imported file has an attachment record and that the featured-image relationship was updated. Reopen a sample post in the editor and test setting the image manually before scaling up.
The site becomes slow or storage fills
Throttle batches, check available disk space, and review duplicate handling. A localizing workflow creates files in your hosting account; a remote-file workflow may avoid that storage but introduces dependence on external availability and credentials.
Quick Recap
Security and compatibility checks
- Do not allow arbitrary users to submit fetch targets without access controls and validation.
- Prefer tools that restrict schemes and ports, validate redirects, inspect actual file content, and limit file size and request time; verify the current implementation rather than assuming a listing’s description is an audit.
- Review whether SVG and ICO files are excluded by default and whether enabling additional formats fits your security policy.
- Confirm current WordPress and PHP compatibility, especially before WP-CLI or queue-based processing.
- Keep the staging backup until URL checks, visual checks, and rollback tests pass.
How to decide
- Choose the built-in upload for a small number of images.
- Choose save-time scanning when new or edited content regularly contains remote URLs.
- Choose CSV/XML or WP-CLI processing for a controlled migration of older posts.
- Choose hotlink replacement when existing post content and featured images must be rewritten.
- Choose external-file management when the requirement is continued access to remote storage rather than creating local uploads.
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.

