WordPress HTTP Error When Uploading Images
You drag a photo into the WordPress media library, the progress bar runs, and then a red "HTTP error" appears with no further explanation — the upload simply fails.
Common signs of this issue
- An image upload fails in the media library with a plain red "HTTP error" and no other detail.
- Large photos fail while small images upload fine — often the clearest clue you will get.
- Photos straight off a phone or camera fail, but the same photo saved smaller goes through.
- The upload bar reaches the end, pauses, and then the error appears — the file arrived but something after that failed.
- It started after moving to a new host, or after the site was migrated or restored from a backup.
- Retrying the same file sometimes works, which makes the whole thing feel random.
- Files with long names, accents, or symbols in the filename fail more often than plainly named ones.
Safe checks you can do yourself
None of these require sharing passwords with anyone.
- Try a small test image first — something under 100 KB. If the small image uploads fine, the system works and the problem is specific to big files, which narrows things down enormously.
- Check the size of the failing photo. A photo straight off a modern phone is often 4 to 8 MB, and that is the single most common cause of this error. Resize it to web size — under roughly 500 KB — and try again. Smaller images are better for your page speed anyway.
- Rename the file to plain letters and numbers before uploading — kitchen-remodel.jpg rather than a long camera name full of symbols, spaces, or accented characters. Odd filenames trip up some servers.
- Try a different browser, or the same browser in a private/incognito window. A browser extension or a stale login session occasionally causes upload failures that look like server problems.
- Wait a few minutes and retry. A genuinely temporary server hiccup — the server briefly busy or out of breath — is a real and common cause, and the same file often sails through on the second try.
- Note whether the error began after a specific event: a migration to new hosting, a restore from backup, or a new security plugin. Timing like that points at file permissions or a security rule rather than the image itself.
- If big files always fail at the same point, ask your host what the upload limit and PHP memory limit are on your plan, and mention that image uploads fail. Both are settings they can see and raise in minutes.
What this usually means
"HTTP error" is WordPress admitting it does not know what went wrong — the upload was sent to the server and something on the server side failed without giving a proper reason back. Unhelpfully vague, but the causes behind it are a short and predictable list.
The most common story by far: the image is simply too large. After a photo arrives, WordPress immediately resizes it into several thumbnail sizes, and that resizing step is memory-hungry. A 6 MB phone photo can exhaust the server's memory allowance mid-resize, and the only message that survives is the generic HTTP error. A close cousin is the server's image-processing library — many servers use one called Imagick that can crash on very large files where the simpler alternative, GD, would cope. Your host can switch between them.
The remaining causes are situational: a security rule on the server (often called ModSecurity or a web application firewall) wrongly deciding the upload looks suspicious and blocking it, file permissions on the uploads folder being wrong after a migration so WordPress cannot write the file, or a filename with characters the server refuses. Which one you have is usually revealed by the pattern — big files failing points at memory or the image library, everything failing after a move points at permissions, and one specific file failing points at its name or contents.
What not to do
- Don't upload the same huge file over and over — each attempt makes the server do the same heavy work that failed the last time.
- Don't paste memory-limit or configuration code into your site's files from a tutorial if you are not comfortable editing them; a typo there can take the whole site down over what started as one failed image.
- Don't disable your security plugin permanently just because it might be blocking uploads — if it is the cause, the fix is one adjusted rule, not turning protection off.
- Don't install a stack of "fix HTTP error" plugins. Extra plugins add their own problems, and this error is nearly always solved by resizing, renaming, or one setting at the host.
- Don't assume your images or your computer are broken — the same photo failing here will usually upload fine once the server-side limit is raised.
- Don't ignore it if uploads worked last month and suddenly stopped — something changed on the server, and your host should be able to say what.
When to get help
If small images upload fine and big ones fail, you can likely live with resizing photos before upload — and your pages will load faster for it. It is worth paying for help when uploads fail regardless of size, when the problem appeared right after a migration, or when your host has raised the limits and the error persists. Someone experienced can read the server's error log, which records the real reason the generic message hides — a memory crash, a blocked security rule, a permissions problem — and the fix is usually a few minutes once the log names the culprit. That is typically a small, quick job, and much cheaper than hours of guesswork or a slow drift into never updating your site's photos at all.
Not sure what to do next?
Answer a few short questions and we'll point you to the safest next step — DIY, a freelancer, or a direct review. No passwords required.
Is this a business website? If this issue may be costing you leads, sales, or trust, you may want a direct review instead of trial and error.
Frequently asked questions
What does the WordPress HTTP error mean when uploading images?
It is a generic failure message: the image reached the server, but something server-side failed while saving or resizing it and no specific reason came back. The usual causes are a too-large photo, the server running out of memory during thumbnail resizing, a security rule blocking the upload, or wrong permissions on the uploads folder.
Why do only large images fail to upload in WordPress?
After every upload, WordPress resizes the photo into several thumbnail sizes, and that step needs a lot of server memory. Big phone or camera photos can exhaust the memory allowance mid-resize. Resizing the photo before upload, or asking your host to raise the memory limit, fixes it.
What size should images be before uploading to WordPress?
For normal page images, aim for under about 500 KB and no wider than roughly 2000 pixels. Photos straight off a phone are often ten times that. Smaller files avoid the upload error and make your pages load noticeably faster for visitors.
Can a filename cause the WordPress HTTP error?
Yes. Very long filenames, or names containing accents, symbols, or unusual characters, fail on some servers. Renaming the file to plain letters, numbers, and hyphens before uploading is a quick fix worth trying early.
Why did image uploads stop working after moving to a new host?
Most often the uploads folder came through the migration with the wrong file permissions, so WordPress cannot write new files into it. Your new host can correct the permissions in a few minutes — tell them uploads to the media library fail with an HTTP error.
Is the HTTP upload error a sign my site is hacked or broken?
Almost never. It is a routine server-limit or configuration issue, not damage to your site. Existing images and content are unaffected — the error only stops new files from being added until the cause is fixed.