WordPress Images Not Uploading 8 Fixes That Work 2026

By Basharat Ali Khan | Last updated: October 14, 2026

WordPress images not uploading is usually caused by a small set of problems: file permissions, server upload limits, low memory, a plugin conflict, a full hosting account or an image library that is struggling. The good news is that you can check all of them in about 15 minutes, and most fixes do not need any coding.

Below is the order I follow when I troubleshoot this. It goes from the quickest checks to the more technical ones, so you can stop as soon as uploads work again.

Quick Answer

WordPress images not uploading is most often fixed by one of three things: setting the uploads folder permission to 755, raising the PHP upload and memory limits, or deactivating a plugin that interferes with uploads. Start with those three before trying anything else.

Common Upload Errors and What They Mean

WordPress images not uploading shows up with different error messages, and each one points to a different cause. Match yours here first.

Error or symptom Likely cause Go to
“HTTP error” Server resource limit, plugin conflict or image library problem Steps 4 and 5
“Unable to create directory. Is its parent directory writable by the server?” File permissions or a full hosting account Steps 3 and 7
“The uploaded file exceeds the upload_max_filesize directive” Server upload size limit Step 4
“Sorry, you are not allowed to upload this file type” File type is blocked by WordPress Step 1
“Post-processing of the image failed…” Low memory or image library trouble Steps 4 and 5
The upload spins or hangs Memory limit or timeout Step 4

Step 1: Check the Image File Itself

WordPress images not uploading can have nothing to do with your site if the file is the problem. Rule this out first, because it takes two minutes.

  • Make sure the format is supported. JPG, PNG, GIF and WebP are standard. Unusual formats may fail or be blocked.
  • Check the file size. Very large photos straight from a camera or phone are a common cause.
  • Remove spaces and special characters from the file name.
  • Try a different, smaller image. If that one works, the issue is the file. If it fails too, the issue is your site.
  • Try another browser or an incognito window to rule out a browser extension.

Step 2: Find Out Your Real Upload Limit

Your WordPress upload limit is shown in the dashboard, so check it before changing anything. Go to Media > Add New Media File and look for the line that says “Maximum upload file size.”

For more detail, open Tools > Site Health > Info and expand Media Handling. It shows your upload size limit and which image library is active (GD or Imagick). You will need this information in later steps.

WordPress Site Health Media Handling screen

Step 3: Fix File and Folder Permissions

Wrong permissions on the uploads folder are one of the most common reasons for the “Unable to create directory” error.

  • The wp-content/uploads folder should be set to 755.
  • Files inside it should be set to 644.

You can check and change these in your hosting File Manager or with an FTP client such as FileZilla. Never set folders to 777. It may make the error disappear, but it is a security risk. If permissions look correct and the error stays, ask your host to check the folder ownership.

Step 4: Raise Upload, Memory and Time Limits

If larger images fail while small ones work, your server limits are probably too low. Start with the memory limit. Add this line to your wp-config.php file, just above the line that says “That’s all, stop editing”:

define( 'WP_MEMORY_LIMIT', '256M' );

Upload size and execution time are usually controlled by your hosting PHP settings, not by wp-config.php alone. Look in your hosting control panel for “PHP Configuration,” “PHP Options” or “Select PHP Version,” and adjust these values. For example:

  • upload_max_filesize to 64M
  • post_max_size to 64M
  • max_execution_time to 300

If you cannot find these settings, your host’s support team can usually change them on request. Always take a backup before editing wp-config.php.

Step 5: Fix the “HTTP Error” Plugins and Image Library

The “HTTP error” message is vague, which is why it is so annoying. In practice it usually comes from one of three places.

Plugin conflicts

Image optimization plugins and security plugins with strict upload scanning are the usual suspects. Deactivate them one at a time and test an upload after each. If uploads work again, you have found the conflict.

Theme conflicts

Temporarily switch to a default WordPress theme. If the upload works, your theme is interfering, and you can contact the theme developer.

Image library problems

WordPress processes images with either Imagick or GD. On some servers Imagick runs out of resources and the upload fails with an HTTP error. You can tell WordPress to use GD instead by adding this code snippet to your child theme’s functions.php or to a code snippets plugin:

add_filter( 'wp_image_editors', function () {
    return array( 'WP_Image_Editor_GD' );
} );

Another common fix on Apache servers is to limit Imagick threads. Add this line to your .htaccess file:

SetEnv MAGICK_THREAD_LIMIT 1

Not every host allows this, so if it causes an error, remove the line and ask your host for help. Take a backup first.

Step 6: Reset Your .htaccess File

A broken .htaccess file can block upload requests, especially if it has strict rules for the wp-content folder. To test it:

  1. Rename your current .htaccess file to .htaccess-backup.
  2. Go to Settings > Permalinks and click Save so WordPress creates a fresh one.
  3. Try uploading again.
  4. If it works, restore only the custom rules you really need from the backup.

Step 7: Check Disk Space and File Limits

A full hosting account stops uploads, and the error does not always say so. Open your hosting control panel and check your storage usage. Some hosts also limit the total number of files (called inodes), so a site with many generated image sizes can hit that limit even when disk space looks fine.

Step 8: Try the Browser Uploader and Other Quick Tests

WordPress has a fallback “browser uploader” on the Add New Media File page. If it works while the drag-and-drop uploader fails, the problem is likely in your browser or a JavaScript conflict rather than the server. Also try:

  • Clearing your browser cache
  • Disabling browser extensions and ad blockers
  • Pausing any firewall or CDN service temporarily, since some block larger uploads

Quick Reference Table

If WordPress images not uploading still leaves you unsure where to start, use this table.

Symptom First thing to try
Only large files fail Raise upload limits
“Unable to create directory” Fix permissions and check disk space
Generic “HTTP error” Test plugins, then image library
Upload hangs Raise memory and time limits
Some file types fail Check the file format
Everything looks fine but still fails Reset .htaccess and test the browser uploader

When to Ask a Developer for Help

You can handle permissions, limits and plugin testing yourself. A developer saves time when the error survives all of the above, when you are not comfortable editing server files, or when the site is a store that cannot afford downtime. A related problem is images uploading but not showing, which I cover in my guide to WordPress featured image not showing.

Frequently Asked Questions

Why do small images upload but large ones fail?

WordPress images not uploading for large files only usually means your upload_max_filesize or post_max_size limit is too low. Raise both in your hosting PHP settings (Step 4).

Can a full hosting account stop image uploads?

Yes. When your storage quota is full, new uploads fail, and the error message does not always say why. Check your disk usage in your hosting panel.

Is this a WordPress bug or a hosting problem?

It is usually a server setting such as permissions, PHP limits or storage. A plugin or theme conflict is the most common WordPress-side cause.

Is it safe to set folder permissions to 777?

No. It can make errors disappear, but it opens your site to security risks. Use 755 for folders and 644 for files.

Do I need a developer to fix WordPress images not uploading?

Not always. Many people fix it with permissions, limits and plugin testing. A developer helps most with deeper server problems or when you do not want to edit server files yourself.

Final Thoughts

WordPress images not uploading almost always traces back to permissions, server limits, a plugin conflict or the image library. Work through the steps in order, match your error to the table, and you will usually find the cause quickly.

If uploads are still failing after these steps, contact me here and I will diagnose it for you, or see my WordPress services.


About the author
Basharat Ali Khan is a WordPress developer in Gilgit, Pakistan with 8+ years of experience building custom plugins, Elementor sites and WooCommerce stores.
LinkedIn | WordPress.org profile

Related: WordPress Featured Image Not Showing | WordPress Favicon Not Showing | WordPress Maintenance Cost | WordPress Services

Leave a Reply

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