Images are an important part of almost every WordPress website. But when an image refuses to upload, displays as a broken icon or suddenly disappears from a page, finding the cause isn’t always straightforward.
You might see an HTTP error in the Media Library, a message saying the server cannot process an image, or a blank space where a photograph should appear.
Although these problems can look similar, they often have different causes. An upload failure might involve server limits or file permissions, while a broken image on an otherwise working page could be caused by an incorrect URL, caching or a missing file.
The key is to identify whether WordPress is failing to upload, process or display the image before attempting a fix.
In this guide, we’ll walk through common WordPress image errors, explain what causes them and show you how to troubleshoot them safely.
Why do WordPress image errors happen?
When you upload an image to WordPress, several things usually happen.
First, WordPress receives the file and stores it in your website’s uploads directory, normally within wp-content/uploads/.
It then records the image in the Media Library and may create additional sizes for thumbnails, responsive images and other uses.
Finally, your website displays the appropriate image using its file URL and the HTML generated by WordPress, your theme or a plugin.
A problem at any of these stages can produce a different symptom.
For example:
- The upload fails immediately: There may be a file restriction, server limit, browser problem or blocked request.
- The image uploads but cannot be processed: WordPress may be unable to generate the required image sizes.
- The image appears in the Media Library but not on your website: The URL, file location, access permissions or delivery system may be incorrect.
- The image displays at the wrong size or looks blurry: Your theme, generated image sizes or responsive image settings may need attention.
Understanding which stage has failed helps you avoid making unnecessary changes.
Quick checks before changing anything
Start with a few simple tests.
1. Try uploading a different image
Go to Media > Add New Media File in your WordPress dashboard and upload a small, standard JPEG or PNG image.
Ideally, use a file you know works elsewhere.
If the test image uploads successfully, the original file might be too large, damaged or saved in a format your server cannot process.
If every image fails, the problem is more likely to involve WordPress, your browser, server configuration or hosting environment.
2. Check whether the image already exists
An error message doesn’t always mean the original file failed to upload.
Open Media > Library and look for the image.
In some cases, WordPress receives the original file but encounters a problem while generating thumbnails or completing the upload request.
If the image is already there, don’t repeatedly upload it and create unnecessary duplicates. Investigate whether the original file and its generated sizes are accessible.
3. Try another browser
If uploads fail in one browser, test another browser or a private browsing window.
Browser extensions, cached scripts and local connection problems can occasionally interfere with uploads.
If the problem only occurs on one device or browser, investigate that environment before changing your WordPress installation.
4. Record the exact error
Make a note of the message WordPress displays.
A 413 Request Entity Too Large response points towards upload limits, while a 403 Forbidden response suggests that access to the request or file is being denied.
An HTTP 500 response can indicate a server-side failure, but you’ll need the relevant logs to understand the cause.
Different errors need different fixes, so avoid treating them all as a plugin conflict.
Before proceeding: Make sure you have a recent backup of your website files and database. Most initial checks are harmless, but changes to permissions, server configuration and plugins should be made carefully.
1. Fix HTTP errors when uploading images
An HTTP error in the WordPress Media Library means something went wrong while processing the upload request.
Depending on your WordPress version and hosting environment, you might see a generic HTTP error or a more specific message.
Try a smaller image first
Export a copy of the problematic image at a more reasonable size and try uploading it again.
For example, if you’re uploading a photograph that’s 6,000 pixels wide, try a version that’s around 1,600 to 2,000 pixels wide, provided those dimensions suit its intended use.
If the smaller file succeeds, that gives you a useful clue. The original might have triggered a processing or resource limit.
However, a successful smaller upload doesn’t prove that file size alone caused the problem.
Check for blocked requests
If uploads consistently fail with a 403, 413 or 500 response, investigate the response before changing WordPress settings.
A hosting firewall, security plugin, reverse proxy or web server configuration may be rejecting the request.
Your hosting provider can help identify whether a request was blocked and which rule or limit was responsible.
Don’t disable your website firewall permanently or broadly remove security protections simply to make uploads work.
Investigate recurring errors
If images upload successfully sometimes but fail at busy periods, check whether the server is experiencing resource shortages or intermittent errors.
Reviewing the PHP and web server logs can help establish whether requests are timing out, being rejected or failing during image processing.
2. Fix unsupported image file type errors
WordPress supports several common image formats, including JPEG, PNG, GIF and WebP.
Modern WordPress versions also support AVIF, provided the server has suitable image-processing capabilities.
If you see a message saying the file type isn’t permitted, first confirm the actual format of the file.
Check the real file format
Changing a filename from .heic to .jpg, for example, doesn’t convert the file into a JPEG.
Open the image in a suitable editor and export a genuine JPEG, PNG or another supported format.
Then try uploading the exported copy.
Check server support
Some image formats require particular versions of GD, Imagick or their supporting libraries.
In WordPress, go to:
Tools > Site Health > Info > Media Handling
This section can provide information about the image-processing libraries available on your server and the formats they support.
If WordPress recognises the format but the server cannot process it, contact your hosting provider about the relevant library support.
Be careful with SVG files
SVG is not handled in the same way as ordinary raster image formats and is restricted by default in standard WordPress installations.
Avoid enabling unrestricted SVG uploads through arbitrary code snippets.
If SVG files are genuinely required, use a carefully maintained solution that sanitises uploaded files and restricts who can upload them.
For most website photographs and graphics, JPEG, PNG, WebP or a supported AVIF workflow will be simpler.
3. Fix images that exceed the maximum upload size
WordPress and your hosting environment impose limits on the size of files that can be uploaded.
When a file exceeds the permitted size, you might see a message stating that it exceeds the maximum upload size.
Check your current limit
Go to Media > Add New Media File and look for the maximum upload file size displayed on the upload screen.
You can also find relevant PHP limits under Tools > Site Health > Info > Media Handling.
If your image is larger than the permitted limit, you have two main options.
Option 1: Reduce the image file size
For most website images, resizing and compressing the file is the simplest solution.
You can often reduce the file size considerably without making the image noticeably worse for visitors.
Option 2: Investigate the upload limit
If you genuinely need to upload a larger file, ask your host which upload limits apply and how they should be adjusted.
PHP settings such as upload_max_filesize and post_max_size, along with web server limits, can affect the maximum permitted upload.
Don’t assume that changing a setting in wp-config.php will override your hosting provider’s restrictions.
For detailed instructions, see our guide to increasing the maximum upload size in WordPress.
File size and image dimensions are different
A file measuring 4 MB isn’t necessarily more demanding to process than a 2 MB file.
An image’s width, height, format and compression can all affect the amount of memory needed to decode and resize it.
WordPress normally scales down very large images when they exceed its default large-image threshold of 2,560 pixels on either dimension.
That threshold is not the same as a maximum upload file size.
If WordPress fails while processing a large image, reducing its dimensions may help even when the file is already below the upload limit.
4. Fix ‘The server cannot process the image’ errors
You might encounter a message similar to:
The server cannot process the image. This can happen if the server is busy or does not have enough resources to complete the task.
This generally indicates that WordPress encountered a problem while processing the image or completing the associated request.
It does not automatically mean that the image is too large.
Check whether the original image uploaded
Look in the Media Library for the affected image.
If the original exists but some image sizes are missing, WordPress may have encountered a problem generating its thumbnails or other resized versions.
Avoid immediately deleting the attachment if the original file is present.
Try exporting a clean copy
Open the image in an editor and export a new copy.
If only one file causes the problem, this can help rule out unusual metadata, unsupported encoding or file corruption.
Try a standard JPEG or PNG as a comparison.
Review image-processing support
WordPress commonly uses GD or Imagick to process images.
Under Tools > Site Health > Info > Media Handling, check which libraries and supported formats are reported.
If processing fails for otherwise normal images, your host may need to investigate library availability, configuration or errors.
Check server resources
Image resizing can consume considerably more memory than the compressed file size suggests.
If PHP runs out of memory or an image-processing operation times out, WordPress may fail to create the required image sizes.
Check the PHP error logs for resource exhaustion, timeouts or image-processing failures.
Only change memory or execution limits when the evidence supports doing so. Increasing limits blindly can conceal other problems or exceed the resources available on your hosting plan.
5. Fix image uploads blocked by permissions or hosting settings
WordPress needs appropriate access to the directory where uploaded files are stored.
If the server cannot write to that location, an upload may fail even when the image itself is perfectly valid.
Check the uploads directory
The default location is:
wp-content/uploads/
Depending on your settings, WordPress may organise files into year and month folders.
If you’re using a managed host or custom deployment, the actual storage location might be different.
Check whether the uploads directory exists and whether the PHP process has the permissions and ownership needed to write files there.
Don’t apply permissions indiscriminately
Permissions such as 755 for directories and 644 for files are common on many WordPress installations, but they’re not appropriate for every hosting arrangement.
Correct ownership is just as important as the numerical permission settings.
Avoid recursively changing permissions across your entire website or making uploads directories world-writable.
If you’re unsure about the correct values, ask your hosting provider.
Our guide to fixing WordPress file permission issues covers the subject in more detail.
Check other hosting restrictions
Uploads may also fail because of:
- Insufficient disk space.
- PHP temporary upload directory problems.
- Web server request limits.
- Hosting security restrictions.
- A failed connection to external media storage.
These problems won’t necessarily be fixed by changing file permissions.
Your hosting dashboard and server logs should help identify which restriction is involved.
6. Fix broken images and incorrect image URLs
Sometimes an image uploads successfully but appears as a broken icon or empty area on your website.
This usually means the browser cannot retrieve or display the image from its specified location.
Open the image URL directly
Right-click the broken image, copy its image address and open that address in a new browser tab.
The result can provide a useful clue:
- 404 Not Found: The image URL points to a file that isn’t available at that location.
- 403 Forbidden: The server, CDN or access rules may be denying the request.
- 500 or another server error: The request is failing on the server.
- 200 OK, but no visible image: The response may contain the wrong content, the file may be damaged or the browser may not support its format.
Check the response rather than assuming every broken image is a missing file.
Compare the URL with the Media Library
Find the image under Media > Library and inspect its file URL.
If the URL in your article differs from the correct Media Library URL, update the relevant image block or reference.
This can happen after a website migration, domain change or modification to how media files are stored.
Check whether the file exists
For persistent 404 errors, verify that the image file exists in the expected uploads location.
A Media Library record can remain in the database even if the corresponding file has been deleted or moved.
If the original file is genuinely missing, restoring it from a verified backup may be appropriate.
Avoid deleting the Media Library record until you’ve established whether it is still referenced elsewhere.
7. Troubleshoot image problems involving caching, CDNs and HTTPS
WordPress websites often serve images through caching systems or a content delivery network.
These can improve performance, but configuration problems can also cause images to display incorrectly.
Check the origin image
If an image is being served through a CDN, compare the CDN URL with the original image URL where you have legitimate access to both.
If the origin image works but the CDN version doesn’t, investigate the CDN configuration, caching or access restrictions.
If both versions fail, the problem is more likely to be associated with the original file or hosting environment.
Look for mixed content
When your website uses HTTPS, image requests should also use HTTPS.
An image referenced through an insecure HTTP URL can be blocked by the browser or generate a mixed-content warning.
Check the affected image’s URL and your browser’s developer tools.
If old URLs remain after a migration to HTTPS, correct them through the appropriate WordPress or migration process.
Avoid performing an unrestricted database search-and-replace without a backup, particularly when working with WordPress data that may contain serialised values.
Clear the relevant cache
If an image has been replaced but visitors still see the previous version, a cached file or page may be responsible.
Clear the cache for the affected image or page using your caching provider’s recommended process.
Where available, targeted purging is preferable to repeatedly clearing the entire website cache.
Also check whether an image optimisation or CDN service has generated a separate cached version.
8. Fix missing, incorrect or blurry thumbnails
WordPress generates different image sizes for use in posts, featured images, galleries and other areas.
Your theme or plugins may also register custom image sizes.
Problems can arise when an expected size wasn’t generated or when the displayed image is too small for the space it occupies.
Check which image size is being displayed
If an image looks blurry, inspect the image URL and the rendered dimensions in your browser.
A small thumbnail stretched across a large content area will usually look poor even if the original photograph is sharp.
The solution may be to select a more appropriate image size or adjust the template’s image settings.
Review WordPress image size settings
Under Settings > Media, you can review the configured thumbnail, medium and large image dimensions.
Themes and plugins may register additional sizes that aren’t listed on this screen.
Changing image size settings doesn’t automatically regenerate every size for images you’ve already uploaded.
Regenerate thumbnails only when necessary
If a required generated image size is missing, regeneration may help.
For example, the Regenerate Thumbnails plugin can recreate image sizes for existing Media Library items.
However, regeneration is not the right solution for every missing image.
If the original file no longer exists, its URL is wrong or a CDN is blocking it, regenerating thumbnails won’t resolve that underlying issue.
Before running a bulk regeneration, take an appropriate backup and consider the processing load and storage requirements, particularly on a large Media Library.
9. Investigate plugin, theme and browser conflicts
If WordPress and your hosting environment appear healthy, a plugin or theme may be interfering with image uploads or display.
Examples include image optimisation plugins, media offloading tools, security plugins, caching services and custom image components.
But a recent update or installed plugin isn’t proof of a conflict.
Identify what changed
Check whether the error began after a specific update, configuration change or plugin installation.
Look for errors referencing a particular plugin, endpoint or script.
If the problem occurs only in the block editor, compare it with uploading directly through the Media Library.
That distinction may help identify whether the issue affects WordPress’s general media handling or a particular editing interface.
Test conflicts safely
Where possible, reproduce the problem on a staging website.
Disable or change one relevant component at a time, test the result and restore the original configuration if it makes no difference.
Avoid deactivating every plugin on a live business website as your first troubleshooting step.
Doing so could affect contact forms, security features, memberships, checkout or other important functionality.
Check browser extensions
If uploads work in one browser but not another, investigate extensions, browser security settings and cached scripts.
Test with extensions disabled in a controlled environment.
This is particularly useful when the upload interface becomes unresponsive or a browser-specific JavaScript error appears.
10. Use browser tools and server logs for advanced diagnostics
When the simpler steps don’t reveal the cause, browser developer tools and server logs can help you identify exactly where an image request is failing.
Check the browser Network panel
Open your browser’s developer tools and select the Network panel.
Then reproduce the error.
For a failed upload, look for the request associated with the Media Library upload operation.
For a broken image, locate the request for the image URL.
Pay attention to the HTTP status code:
- 403: Access denied.
- 404: File or URL not found.
- 413: Request is larger than an allowed limit.
- 429: Too many requests or rate limiting.
- 500: Server-side error.
- 502 or 504: An upstream service or gateway problem.
These codes identify a category of failure, not necessarily its precise cause.
For example, a 403 might come from WordPress, a security service or your hosting provider. Further investigation is needed to establish which component rejected the request.
Also check the response content type. An image URL returning an HTML error page instead of image data will not display correctly.
Check the browser Console
The Console panel can reveal JavaScript errors, mixed-content warnings or blocked requests.
If the Media Library stops responding after clicking Upload, this information may be particularly useful.
WordPress provides an official guide to diagnosing JavaScript errors using your browser.
Review PHP and web server logs
Server logs can help distinguish between failed uploads and image-processing errors.
Look for entries matching the time of the failure, particularly:
- PHP memory exhaustion.
- Execution timeouts.
- Image-processing library errors.
- File permission or storage failures.
- Requests blocked by server security rules.
If you’re using managed hosting, ask your provider for the relevant log entries rather than making broad configuration changes.
You can also refer to the official WordPress debugging documentation.
Remember to remove or disable temporary debugging after troubleshooting and ensure diagnostic logs are not publicly accessible.
11. How to prevent recurring WordPress image problems
Once your images are uploading and displaying correctly, a few maintenance practices can reduce the likelihood of future errors.
Prepare images before uploading
Use an appropriate file format and dimensions for each image’s purpose.
A full-resolution camera photograph is rarely necessary for an ordinary blog image.
Compressing images before uploading can reduce transfer times, storage requirements and processing demands.
For more detail, see our WordPress image optimisation guide.
Use sensible filenames
Give images descriptive filenames before uploading them.
For example, wordpress-media-library-error.png is more useful than IMG_4827.png.
Avoid unnecessary special characters and excessively long filenames.
Descriptive filenames help with organisation, but renaming an image in WordPress should be handled carefully so existing URLs don’t break.
Maintain backups
Keep reliable backups of your website files and database.
Your Media Library contains both files stored on the server and records stored in the database. A complete recovery may require both.
Make sure your backup process includes the uploads directory and periodically verify that files can be restored.
Monitor hosting and storage
Keep an eye on available disk space, PHP errors and recurring resource warnings.
If image processing regularly exhausts server resources, investigate the workload rather than continually increasing limits without understanding the cause.
Keep WordPress maintained
Regularly update WordPress, your theme and plugins, taking appropriate precautions before significant updates.
Use staging for higher-risk changes and monitor the website afterwards.
This is especially important when changing image optimisation plugins, CDN configurations or media storage settings.
12. When should you seek WordPress support?
Some image problems can be resolved by uploading a smaller file, correcting a URL or clearing the relevant cache.
Others require access to server logs, PHP configuration, file permissions or CDN settings.
If you’ve completed the initial checks and images still aren’t working, gather the following information before contacting support:
- The exact error message.
- The affected page or image URL.
- Whether the issue occurs during upload, processing or display.
- Whether other images work normally.
- The image format, dimensions and file size.
- Any relevant HTTP status codes or server errors.
- Whether the problem began after a recent change.
This information makes it much easier to identify the underlying issue without repeating unnecessary troubleshooting.
Avoid repeatedly changing server settings, removing plugins or regenerating your entire Media Library without a clear reason.
Need help fixing WordPress image errors?
If WordPress images won’t upload, thumbnails are missing or your website is displaying broken images, the underlying cause isn’t always obvious.
At Newt Labs, we help website owners investigate and resolve WordPress problems, including issues involving media uploads, image processing and file delivery.
Our one-off WordPress website repair service can help you identify the cause and get your images working again.
And if you want help keeping your website maintained after the immediate problem is resolved, explore our WordPress maintenance plans.

