WordPress GuideErrors → HTTP Error

How to fix the HTTP error when uploading images to WordPress

Apache HTTP Server — What is Apache Web Server Used for? Learn About Apache Server | Liquid Web

When you try uploading an image to WordPress and get a vague “HTTP error,” it’s not just annoying—it can completely block your workflow. Unfortunately, this error doesn’t explain what went wrong. But the good news is, it’s usually something you can fix on your own.

Let’s look at the most common causes of HTTP upload errors in WordPress and how to fix each one.

What causes the WordPress HTTP image upload error?

The “HTTP error” that shows up in the WordPress Media Library typically points to one of several problems. Some are on your local browser, others are server-related.

Here are the most likely culprits:

You’ll need to test each area step-by-step to find out what’s going wrong.

Quick fixes to try first

Before diving into deeper troubleshooting, try these simple solutions. They often fix the problem without any technical changes.

Refresh the page and try again

Sometimes, the HTTP error is temporary. Press Ctrl+F5 (or Cmd+R on a Mac) to reload the page completely, then attempt the upload again.

Try a smaller image or different format

Large images may exceed server limits. Try resizing the image to under 2 MB. You can also try converting it to a more common format like .jpg, .png, or .gif using an image editor.

Switch browsers

Occasionally, your current browser may glitch. Open the WordPress dashboard in another browser (like Chrome or Firefox) and try the upload there.

Clear your browser cache

Old or corrupted cache files can interfere with the WordPress interface. Clear your browser cache and cookies, then reload the dashboard.

Check your image file settings

Image-related issues are often the cause, especially for new uploads.

Resize or compress the image

Use tools like TinyPNG or ShortPixel to compress your image without losing quality. This reduces file size and makes uploads smoother.

Confirm the file format is supported

Stick to standard formats like JPEG (.jpg/.jpeg), PNG, or GIF. Formats like WebP are supported in modern versions of WordPress, but may still cause errors on older hosting setups.

Fix file and folder permissions

WordPress needs permission to write files to your server. If your uploads folder has the wrong settings, uploads may fail.

Use FTP or your hosting file manager

Connect to your site using an FTP client (like FileZilla) or your host’s File Manager tool. Navigate to the wp-content/uploads directory.

Check that permissions are set to:

Reset permissions if needed

If permissions are incorrect, right-click the folder or file and choose File Permissions (or similar), then enter the correct number and apply it recursively for directories.

Disable conflicting plugins and themes

Plugins that modify how WordPress handles files—especially image optimizers or security tools—can interfere with uploads.

Deactivate image optimization or caching plugins

Temporarily disable any plugins that manage images, CDN delivery, or caching. Examples include:

After disabling each plugin, try uploading the image again. If it works, the plugin was likely the cause.

Switch to a default WordPress theme

Themes can also include functions that alter media behavior. Switch to a default theme like Twenty Twenty-Four under Appearance > Themes, then test the upload.

Increase your PHP memory limit

If your server runs out of memory while processing the upload, WordPress may show an HTTP error.

Edit your wp-config.php file

Access your site files via FTP or File Manager. Open the wp-config.php file and add this line just before the line that says /* That’s all, stop editing! */:

define(‘WP_MEMORY_LIMIT’, ‘256M’);

This sets your PHP memory limit to 256MB, which is usually plenty for media uploads.

Update .htaccess or PHP.ini if needed

Some hosting environments also allow memory limits to be set in .htaccess or php.ini. Add one of these if wp-config.php changes don’t work:

In .htaccess:

php_value memory_limit 256M

In php.ini:

memory_limit = 256M

Note: If you’re unsure, ask your hosting provider for help adjusting these limits.

Check for ModSecurity interference

Some web hosts enable a firewall called ModSecurity, which can block legitimate uploads.

Disable ModSecurity (temporarily)

Log into your hosting control panel and look for a ModSecurity section. Disable it temporarily and try uploading the image again. If you don’t see that option, contact your host and ask them to review the ModSecurity logs or whitelist your upload path.

Make sure your server is using a compatible PHP version

Older versions of PHP can create compatibility issues with WordPress, especially during media handling.

Check your current PHP version

In WordPress, go to Tools > Site Health > Info > Server. Look for the line that says PHP version.

Upgrade to PHP 8.1 or later

WordPress recommends PHP 8.1 or higher. If your version is older, contact your host and ask them to update it. Many hosts let you change PHP versions from your control panel.

Review server logs for more detail

When other troubleshooting steps don’t work, your server logs can provide clues.

Access logs via hosting dashboard or cPanel

Log into your hosting account and find the Error Logs or Logs section. This might be under “Metrics” or “Advanced.”

Search for upload-related messages

Look for errors that occurred around the same time as your image upload. Keywords like upload, memory, permissions, or modsec can help point to the root cause.

Still stuck? Contact your hosting provider

If none of the above steps solve the problem, reach out to your web host. Provide:

Most hosts can help you check server-side issues like memory limits, ModSecurity settings, or write permissions.

Prevent future image upload errors

Once the issue is resolved, you can reduce the chances of it happening again with a few best practices.

Additional resources

Diagnosing WordPress errors on your site →

Even more common errors, how to troubleshoot them, and how to solve them

WordPress Multisite domain mapping →

A step-by-step guide to setup domain mapping

What is managed WordPress hosting? →

What it means, what it includes, and how to decide if it’s right for you

Haritha Jacob is a knowledgeable System Engineer with extensive experience in resolving costumers’ complaints and issues. She has experience with various programming languages and operating systems, enterprise backup and recovery procedures, system performance-monitoring tools, and more.