WordPress Images Not Showing? 7 PROVEN Fixes That Actually Work (2026)

✍️ By Vikas Rohilla 📅 Updated: March 2026 ⏱️ 9 min read 🏷️ WordPress Errors

You upload an image to WordPress. You add it to your blog post. You hit publish.

And instead of your beautiful photo, visitors see a broken image icon — a small grey box or a red X where your image should be.

Or worse — you open a post that has been live for months and the images have simply vanished. No error message. Just empty spaces where photos used to be.

WordPress images not showing is one of the most searched WordPress problems — and it is particularly frustrating because it can happen suddenly, without any obvious trigger, on a site that was working perfectly the day before.

This guide covers every cause of WordPress images not showing, how to diagnose which one affects your site, and the exact fixes in order — most of which take under 5 minutes.

The wordpress images not showing problem affects WordPress sites of every size and age — from brand new blogs to established business sites with years of content. What makes wordpress images not showing particularly alarming is that it can affect every single page on your site simultaneously, making the problem appear catastrophic when the actual fix is often just one setting or one deleted file away.

⚡ Fastest fix first: Go to WordPress Dashboard → LiteSpeed Cache → Purge All. Then clear your browser cache (Ctrl+Shift+Delete → All time → Clear). Refresh your page. In 40% of WordPress images not showing cases, this single step restores all images instantly — because the images were never actually broken, just cached incorrectly.
wordpress images not showing broken image icon grey box on page
WordPress images not showing — a broken image icon or empty grey box appears where your photo should be, even though the image was successfully uploaded to WordPress

Why Are WordPress Images Not Showing?

When WordPress images not showing happens, the image file itself is almost always still there — safely stored in your /wp-content/uploads/ folder. What broke is the connection between the page and the image file.

WordPress stores image information in two separate places: the actual file on your server, and a database record that tells WordPress where to find it. When either the file path, the URL, the file permissions, or the database record is wrong — WordPress images not showing is the result.

What You SeeMost Likely CauseFix
All images broken on all pagesWrong site URL or cacheFix 1 or Fix 5
Images broken after migrationURL mismatch in databaseFix 5
Broken thumbnails in Media LibraryCorrupted thumbnailsFix 3
Images broken after adding SSLMixed content (http vs https)Fix 4
Some images broken, others fineFile permissions or missing fileFix 2
Images broken after plugin updatePlugin conflictFix 6
Images not uploading at allPHP memory or upload size limitFix 7

Common Causes of WordPress Images Not Showing

🔴 Cache Serving Old Data

Most common cause. Caching plugins serve a cached version of the page with broken image paths. Purging all cache restores images instantly in most cases.

🔴 Wrong File Permissions

Uploads folder needs 755 permissions. If incorrectly set to 700 or 600, WordPress cannot serve images to visitors — causing broken image icons site-wide.

🟡 Corrupted Thumbnails

WordPress creates multiple image sizes (thumbnail, medium, large) for each upload. If these are corrupted or missing, images show as broken even though the original file is intact.

🟡 Wrong URL After Migration

Moving WordPress to a new domain leaves old URLs in the database. Every image stored with the old domain URL becomes a broken link on the new domain.

🔵 Mixed Content (HTTP/HTTPS)

After adding SSL, image URLs stored in the database still use http:// — causing browsers to block them as insecure mixed content on your https:// pages.

🟢 Plugin or Theme Conflict

Lazy loading plugins, image optimization plugins, and CDN plugins can all interfere with how WordPress loads and displays images — causing them to not show correctly.

📖 Recommended Guide

How to Disable Comments in WordPress (Complete 2026 Guide)

Stop spam, improve performance, and remove comment sections completely — step-by-step methods with screenshots.

Read Full Guide →

Fix 1: Clear All Caches — The 60-Second Solution

The most common cause of WordPress images not showing is stale cache. Caching plugins store snapshots of your pages — and if a snapshot was taken when an image was temporarily unavailable, that broken version keeps serving to visitors even after the image is back.

  1. Go to WordPress Dashboard → LiteSpeed Cache (top admin bar)
  2. Click Purge All
  3. Also go to LiteSpeed → Toolbox → Purge All
  4. Clear browser cache: Chrome → Ctrl + Shift + Delete → All time → Clear data
  5. Open your site in a fresh incognito window and check if images are showing
✅ Also clear QUIC.cloud CDN: If you use QUIC.cloud with LiteSpeed, log into your QUIC.cloud dashboard and purge the CDN cache too. CDN-cached broken images are a common reason why clearing WordPress cache alone does not fully fix the WordPress images not showing problem.

Fix 2: Fix File Permissions on the Uploads Folder

WordPress needs specific file permissions to read and serve images. When WordPress images not showing is caused by permission issues, the images exist on the server but cannot be accessed by visitors. The correct permissions are 755 for folders and 644 for files.

  1. Open Hostinger hPanel → File Manager → public_html → wp-content
  2. Right-click the uploads folder → click Change Permissions
  3. Set to 755 → check Recurse into subdirectories → apply to folders only → Save
  4. Right-click uploads again → Change Permissions → set to 644 → apply to files only → Save
  5. Refresh your site and check if images are now visible
cpanel file manager uploads folder permissions 755 644 wordpress images not showing fix
cPanel File Manager → wp-content → uploads → Change Permissions → set 755 for folders and 644 for files — incorrect permissions are a common cause of WordPress images not showing
💡 Quick permissions check: Right-click any image file in the uploads folder → Properties — if the permissions show 600 or 400, they are too restrictive and visitors cannot read the file. Set to 644 and the image should appear immediately.

Fix 3: Regenerate Thumbnails

When you change your WordPress theme or resize images, the thumbnail versions WordPress created for the old theme become incorrect sizes for the new one. This makes WordPress images not showing in specific areas like featured image slots, archive pages, and product grids — even though the full-size images are intact.

wordpress media library broken thumbnails grey boxes broken images fix regenerate
WordPress Media Library showing broken thumbnails — the original images are intact but missing images in the correct sizes because thumbnails need to be regenerated for the current theme
  1. Go to Plugins → Add New → search for Regenerate Thumbnails → Install → Activate
  2. Go to Tools → Regen. Thumbnails
  3. Click Regenerate All Thumbnails
  4. Wait for the process to complete — this may take several minutes on large sites
  5. Deactivate and delete the plugin after regeneration is complete
regenerate thumbnails plugin this issue fix tools menu
Regenerate Thumbnails plugin → Tools → Regen. Thumbnails → Regenerate All Thumbnails — recreates all image size variants to fix image issues in theme-specific image slots
📖 Related: Slow image loading after regeneration? Check your LCP fix guide and WordPress Speed Optimization Guide — images are the biggest contributor to poor LCP scores.

Fix 4: Fix Mixed Content — Images Broken After Adding SSL

After switching your WordPress site from HTTP to HTTPS, the problem is extremely common. The reason: all your image URLs are stored in the database as http://yourdomain.com/wp-content/uploads/… — and modern browsers block these as insecure mixed content when loaded on an https:// page.

Fix Using Better Search Replace Plugin

  1. Install Better Search Replace plugin (free)
  2. Go to Tools → Better Search Replace
  3. In Search for field: http://yourdomain.com
  4. In Replace with field: https://yourdomain.com
  5. Select all database tables
  6. Uncheck Run as dry run → click Run Search/Replace
  7. Clear all caches → check if broken image icons issue is resolved
⚠️ Take a database backup first! Before running any search-replace operation on your database, go to Hostinger hPanel → Backups and create a full site backup. A wrong search-replace can break your entire site — the backup gives you a one-click restore option if anything goes wrong.

Fix 5: Fix Image URLs After Site Migration

Migration is the most common trigger for mass broken images across an entire site. When you move WordPress to a new domain, every image URL stored in the database still points to the old domain — making every single image a broken link on the new domain.

  1. Go to Settings → General → confirm both WordPress Address and Site Address show your new domain
  2. Install Better Search Replace plugin (same as Fix 4)
  3. Search for your old domain URL: https://olddomain.com
  4. Replace with your new domain: https://newdomain.com
  5. Run on all tables → clear all caches → verify images are showing
wordpress settings general url fields migration missing images fix
WordPress → Settings → General — after migration, both URL fields must show the new domain. Wrong URLs here cause this issue across the entire site because all media files are stored with the old domain path
📖 Related: Site migration causes multiple issues beyond images. Read WordPress Database Error Fix and ERR_TOO_MANY_REDIRECTS Fix — both are common post-migration problems.

Fix 6: Disable Plugins to Find Conflicts

Image optimization plugins, lazy loading plugins, CDN plugins, and security plugins are all common causes of image issues — particularly after an update that changes how they process or serve image files.

  1. Go to Plugins → Installed Plugins
  2. Bulk deactivate all plugins except your caching plugin
  3. Check if WordPress images are now showing
  4. If yes — reactivate plugins one at a time, checking images after each activation
  5. When images stop showing again — that plugin is the cause
  6. Update the plugin, check for a newer version, or find an alternative
💡 Most likely plugin culprits for the problem: Smush, ShortPixel, Imagify (image optimization), WP Rocket, LiteSpeed Cache with incorrect CDN settings, Cloudflare plugin, any lazy loading plugin, and security plugins that restrict file access.

Fix 7: Fix Image Upload Errors — PHP Memory and Upload Size

If broken image icons because they fail to upload entirely, the cause is almost always a PHP memory limit that is too low or an upload file size restriction. WordPress shows an HTTP error during upload when it runs out of memory processing large images.

  1. Open hPanel → File Manager → public_html → wp-config.php → Edit
  2. Add these lines before the /* That’s all, stop editing! */ comment:
define( ‘WP_MEMORY_LIMIT’, ‘256M’ ); @ini_set( ‘upload_max_size’, ’64M’ ); @ini_set( ‘post_max_size’, ’64M’ ); @ini_set( ‘max_execution_time’, ‘300’ );
  1. Also go to hPanel → PHP Configuration → set upload_max_filesize to 64M and post_max_size to 64M
  2. Save → try uploading your image again
📖 Related: PHP memory issues cause more than just upload failures — they also cause site crashes. Read the complete WordPress Memory Limit Fix Guide for all three methods to increase your PHP memory limit.

Recurring broken images? Your hosting may be the bottleneck.

Hostinger Business and Cloud plans include higher PHP memory limits, larger upload sizes, and LiteSpeed servers optimized for WordPress image delivery.

View Hostinger Plans →

How missing images Affects Your SEO

Most site owners treat this issue as a visual problem. But the SEO consequences are equally serious and accumulate quickly:

  • LCP score crashes: Largest Contentful Paint — Google’s most important Core Web Vital — is almost always an image. When image issues occurs, your LCP score registers as a failed load rather than a slow load, causing a significant ranking signal drop.
  • Alt text becomes orphaned: Your carefully written alt text now describes an image that visitors cannot see — delivering no value to users or search engines.
  • Bounce rate increases: Visitors who land on a page with broken images leave immediately. Higher bounce rate signals lower quality to Google.
  • Featured image missing from social shares: When you share a page on social media, the missing image means no thumbnail appears — dramatically reducing click-through rate from social platforms.
🔍

Free WordPress Technical Audit — ToolXray

After fixing images — check Core Web Vitals, LCP, PageSpeed and 80+ signals. Free, no signup needed.

Run Free Audit →

How to Prevent the problem

  • Always backup before migrating: A full site backup before any migration means you can restore instantly if image URLs break during the move.
  • Run Better Search Replace after every domain change: Any time your domain changes — adding SSL, changing www preference, moving to a new domain — immediately run a search-replace on your database to update all image URLs.
  • Compress images before uploading: Use Squoosh (free) to compress images below 200KB before uploading. Smaller files process faster, use less memory, and reduce the chance of upload errors that leave broken placeholders.
  • Test after every optimization plugin update: Image optimization and lazy loading plugins are the most common plugin cause of broken image icons. After every update to these plugins — open a few posts in incognito and confirm images are loading.
  • Monthly technical audit: Run a free audit at ToolXray monthly — catches broken image paths, Core Web Vitals issues, and LCP problems before they affect rankings.

The Bottom Line

broken images is almost never a sign of permanent damage — your images are almost always still on the server. What broke is the connection between the page and the file, and that connection is restored through one of seven identifiable fixes.

Start with Fix 1 — clear all caches. WordPress images not showing is resolved by cache clearing in over 40% of cases. This resolves the majority of missing images cases in under 60 seconds. If wordpress images not showing persists after clearing cache, work through the diagnosis table at the top of this guide to identify your specific cause and apply the right fix directly.

After resolving the wordpress images not showing issue, run a free technical audit to confirm your Core Web Vitals — particularly your LCP score — have recovered from the period when images were missing.

🔍 Free WordPress Technical Audit

Check LCP, Core Web Vitals, broken links, PageSpeed and 80+ signals after fixing your images

Run Free Audit at ToolXray →
📖 Related: After fixing images, check your full site health — Technical SEO Audit Guide, WordPress Security Guide, and TTFB Guide — slow image loading spikes server response time.

Related Articles

Fix LCP in WordPress

Images are the #1 LCP element — after fixing missing images, optimize for 90+ LCP scores.

🚀

WordPress Speed Optimization

Complete performance guide — image compression, lazy loading, CDN setup and more.

WordPress Memory Limit Fix

HTTP error on image upload? Low PHP memory is the cause — 3 methods to fix it.

🗄️

WordPress Database Error Fix

Database issues after migration also break image URLs — fix both together.

🔄

ERR_TOO_MANY_REDIRECTS Fix

SSL setup causing both redirect loops and broken images? Fix both simultaneously.

💀

WordPress White Screen of Death

Plugin conflict causing both white screen and broken images? Same plugin is likely the cause.

🆓

Free Alternative to Ahrefs

Monitor image SEO impact for free — no expensive subscription needed.

📊

How to Use PageSpeed Insights

Verify your image fix improved your PageSpeed score — read the report correctly.

Frequently Asked Questions

❓ Why are this issue after upload?
When image issues immediately after upload, the most common causes are a PHP memory limit that is too low (causing the upload to fail silently), incorrect file permissions on the uploads folder (preventing WordPress from saving the file), or a caching plugin serving a stale version of the page. Start by clearing all caches — if images appear after clearing, the cache was the issue. If not, check that your uploads folder has 755 permissions and increase PHP memory to 256M in wp-config.php.
❓ the problem after migration — how to fix?
After moving WordPress to a new domain, images not showing is almost always caused by old domain URLs stored in the database. Every image was saved with the old domain path — these links are now broken. Install the Better Search Replace plugin → search for your old domain URL → replace with your new domain URL → run on all tables. Clear all caches after the replacement. This updates every image URL in the database simultaneously and fixes the broken image icons issue across your entire site.
❓ Why are broken images after adding SSL?
After switching to HTTPS, images are blocked as mixed content because they use http:// URLs in your database are blocked by browsers as mixed content — causing missing images on all HTTPS pages. Use Better Search Replace to change all http://yourdomain.com references to https://yourdomain.com in your database. Also check that both WordPress Address and Site Address in Settings → General use https://. After the update, clear all caches and verify images are visible in an incognito window.
❓ How do I fix broken thumbnails in the WordPress Media Library?
Broken thumbnails in the Media Library usually mean the intermediate image sizes — thumbnail, medium, large — are missing or were created for a different theme’s dimensions. Install the free Regenerate Thumbnails plugin → Tools → Regen. Thumbnails → Regenerate All Thumbnails. This recreates all size variants for every image in your library according to your current theme’s settings. The process may take a few minutes on sites with many images — keep the browser tab open until it completes.
❓ Can this issue affect my Google rankings?
Yes — significantly. Images are almost always the Largest Contentful Paint element on any page. When image issues occurs, your LCP score fails entirely rather than just performing slowly — this is treated as a critical Core Web Vitals failure by Google. Additionally, missing images increase bounce rate, remove all SEO value from your image alt text, and make your content less shareable on social media. After fixing the images, run a technical audit at toolxray.com to confirm your LCP and Core Web Vitals scores have recovered.

    Leave a Comment

    Your email address will not be published. Required fields are marked *

    Scroll to Top