wp-content/uploads/ folder — this contains every image at original quality. For a public WordPress site you don't own: use Bulk Image Downloader on individual post or page URLs to capture images page by page.
WordPress powers over 40% of all websites, which means a significant portion of image download requests involve WordPress sites. Whether you are migrating your blog to a new host, creating a local backup, or collecting images from a public site, the approach differs depending on whether you own the site or not.
This guide covers every scenario with clear, step-by-step instructions.
Download Images from Any WordPress Blog
Bulk Image Downloader works on every WordPress site — grab all images from any post or page in one click.
Add to Chrome — FreeWordPress Image Storage: Understanding the Structure
WordPress stores uploaded images in the wp-content/uploads/ directory, organized by year and month:
wp-content/uploads/
├── 2024/
│ ├── 01/
│ │ ├── hero-image.jpg (original)
│ │ ├── hero-image-1024x576.jpg (large)
│ │ ├── hero-image-300x169.jpg (medium)
│ │ └── hero-image-150x150.jpg (thumbnail)
│ └── 02/
│ └── ...
└── 2025/
└── ...
For each uploaded image, WordPress generates multiple sizes. The original file has no size suffix; the generated sizes have dimensions appended. When downloading your own site's images, you typically want the originals — files without dimension suffixes in their names.
Method 1: FTP Download (Best for Site Owners)
If you have server access, FTP is the most reliable way to download all your WordPress images at original quality.
Step-by-step: FTP download with FileZilla
- Download FileZilla (free FTP client) from filezilla-project.org.
- Connect to your server — Enter your FTP credentials (host, username, password, port 21 for FTP or 22 for SFTP). Get these from your hosting control panel.
- Navigate to your WordPress directory — Find
wp-content/uploads/. - Select the uploads folder — Right-click > Download to copy the entire folder structure to your computer.
- FileZilla transfers all files, preserving the year/month folder structure.
*-[0-9]*x[0-9]*.* — this skips all the sized variants and downloads only the originals, reducing download size.
Method 2: WordPress Media Library Export
WordPress has a built-in export under Tools > Export, but it exports content as XML — not the actual image files. For the actual media files, you have a few options from the admin:
- Media Library plugin — Plugins like "Export Media Library" add a direct "Download as ZIP" button to your media library.
- cPanel File Manager — Many hosts provide cPanel with a file manager. Navigate to
wp-content/uploads/and use the compress-and-download feature. - WordPress Backup plugins — UpdraftPlus and similar plugins can create a backup that includes just media files, downloadable from the plugin's settings page.
Method 3: WordPress REST API
The WordPress REST API provides programmatic access to media library items. This is useful for developers who need to download images from a WordPress site systematically.
# Get all media items (first 100)
curl "https://example.com/wp-json/wp/v2/media?per_page=100"
# Get page 2
curl "https://example.com/wp-json/wp/v2/media?per_page=100&page=2"
# Response includes "source_url" for the full-size original
Parse the JSON response to extract source_url values, then use wget or a download script to fetch all images. For sites with hundreds or thousands of images, paginate through all pages of results.
Download Images from Public WordPress Blogs
No server access needed for public sites. Bulk Image Downloader captures everything from any WordPress post or page.
Install FreeMethod 4: Chrome Extension for Public WordPress Sites
For WordPress sites you do not own, use Bulk Image Downloader directly on the site's pages:
Downloading from a WordPress blog you don't own
- Open a WordPress post or page containing the images you want.
- Scroll to the bottom to load any lazy-loaded images.
- Click the Bulk Image Downloader icon.
- Set a minimum size filter (e.g., 600px) to skip thumbnails.
- Select and download.
Note: WordPress generates multiple sizes of each image. The extension captures whatever size is loaded in the browser. Set a higher minimum width filter to get only the larger versions.
Getting originals from URL structure
WordPress original images follow this URL pattern:
https://example.com/wp-content/uploads/2024/03/image.jpg
Resized variants look like:
https://example.com/wp-content/uploads/2024/03/image-1024x576.jpg
If you download resized variants, you can get the original by removing the -WIDTHxHEIGHT portion from the filename. WordPress stores originals in the same folder.
Frequently Asked Questions
How do I download all images from my own WordPress site?
Connect via FTP and download the wp-content/uploads/ folder. This is the most complete and reliable method, preserving all originals at full quality with the year/month folder structure intact.
Where are WordPress images stored on the server?
All media is in wp-content/uploads/, organized by year/month subfolders. Each original upload generates multiple resized variants in the same folder. Original files have no size suffix; generated sizes have dimensions appended to the filename.
How do I download images from a WordPress site I don't own?
Use Bulk Image Downloader on the site's post and page URLs. WordPress serves images as standard web files and the extension captures them directly. Use a minimum size filter to get full-size images rather than thumbnails.
Can I use the WordPress REST API to get all image URLs?
Yes. The endpoint /wp-json/wp/v2/media?per_page=100 returns media library items as JSON with source_url fields for each file. Paginate through all results to build a complete list, then download each URL programmatically.
Does WordPress generate multiple image sizes automatically?
Yes. For each upload, WordPress creates thumbnail (150x150), medium (300px), large (1024px), and full-size versions. Themes and plugins can add additional sizes. The original upload is always preserved alongside the generated sizes.