How to fix WordPress images not showing
Help centreOn this page
This guide goes through the usual reasons WordPress images show as broken or blank, and how to fix each one.
Check one image first
- Open the page with the missing image.
- Right-click where the image should be and choose Open image in new tab (or similar).
- Look at the address and what loads.
If the address points at an old domain, or starts with http:// on an https site, jump to the URL section below. If you get a “403 Forbidden” error, check permissions. If you get “404 Not Found”, the file isn’t where WordPress thinks it is.
Fix file permissions
Images that are uploaded but can’t be read by the web server will show as broken.
- Log in to cPanel and open File Manager.
- Go to
public_html/wp-content/uploads. - Check folders are set to 755 and image files to 644. The numbers are in the Permissions column.
- To change one, right-click it, choose Change Permissions and set the right number.
Fix wrong URLs after a move or switch to https
If you moved the site or changed domain, the old addresses may still be stored in your posts.
- Check Settings, then General in WordPress shows the right address. See how to change your WordPress site address.
- Use a search and replace plugin to swap the old address for the new one in the database. Take a backup first.
- If images load on http but not https, the browser is blocking “mixed content”. Replace http:// with https:// for your domain in the same way.
Check the upload folder path
In older sites, Settings, then Media may show a custom upload path. If it points to a folder that no longer exists, new uploads fail. Clear the field so WordPress uses the default wp-content/uploads.
Regenerate thumbnails
After changing theme, the image sizes the theme expects may not exist. Install a plugin such as Regenerate Thumbnails and run it to create the missing sizes.
Check plugins and caching
- Lazy load plugins. Lazy loading delays images until you scroll. If two plugins (or a plugin and your theme) both do it, images can stay blank. Turn one off.
- Cache or CDN. Clear your caching plugin and any CDN cache, then reload with Ctrl+F5 (or Cmd+Shift+R on a Mac).
If it doesn’t work
- Images work on your site but not when shared elsewhere. Hotlink protection may be blocking other sites. Check Hotlink Protection in cPanel and add any domains you want to allow.
- The uploads folder is empty. Files may have been lost in a move. Restore them from a backup. See how to restore a backup with JetBackup.
- Image addresses point to strange sites. The site may be compromised. See how to clean a hacked WordPress site.
Still stuck? Open a support ticket and we’ll help.
WP Toolkit, staging, backups every six hours and free migration of your site.