11 WordPress ServicesView all
8 industry verticalsAll industries
12 UK locationsAll locations
Home/Blog/Troubleshooting
Troubleshooting13 November 2026· 5 min read

WordPress Media Upload Not Working: How to Fix Image Upload Errors

WordPress is showing upload errors or the upload spinner never completes. Here are the four most common causes and how to fix them without developer access.

You are trying to upload an image in WordPress and getting an error — or the upload appears to start but never finishes. WordPress media upload failures almost always come down to one of four causes: file permissions on the uploads folder, PHP upload size limits, available disk space, or a problem with the uploads directory path. Each has a specific fix.

Fix 1: Check the uploads folder file permissions

Connect to your server via FTP. Navigate to wp-content/uploads. Right-click the folder and check its permissions. It should be 755 — read and execute for all, write only for the owner. If it is set to 644 or anything lower, WordPress cannot create new files inside it. Change it to 755. If it is currently 777, change it to 755 — 777 is insecure and unnecessary.

Fix 2: Increase PHP upload size limits

PHP has two settings controlling upload sizes: upload_max_filesize (maximum size of a single file) and post_max_size (maximum size of the entire POST request). Both must be large enough for your files. Add these lines to your .htaccess file:

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 256M

Fix 3: Check available disk space on the server

If your server's disk is full or over its hosting quota, WordPress cannot save any new files. Log into your hosting panel and check your disk usage. If you are over 80% full, delete old WordPress backups, unused theme files and log files that may be accumulating. Shared hosting plans often have surprisingly low disk quotas — upgrade your plan if necessary.

Fix 4: Verify the uploads directory path in WordPress settings

Go to Settings → Media in your WordPress dashboard. The Upload path should be set to wp-content/uploads or left blank (which defaults to that path). If it has been changed to an absolute server path or a path that does not exist, WordPress fails to write files. Clear the field entirely and save to restore the default.

ImportantIf images upload successfully but appear as broken on the front end, the issue is likely thumbnail regeneration rather than the upload itself. Install Regenerate Thumbnails and run it — this rebuilds all image size variants from the original files. This is especially common after migrating to a new server or changing WordPress image size settings.

Frequently asked questions

Why are images not uploading in WordPress?+

The most common causes are: incorrect file permissions on wp-content/uploads (should be 755), PHP upload size limits set too low (upload_max_filesize and post_max_size in php.ini), insufficient disk space on the server, or WordPress being unable to create the year/month subdirectory inside uploads due to ownership settings.

How do I increase the WordPress upload file size limit?+

Add php_value upload_max_filesize 64M and php_value post_max_size 64M to your .htaccess file. The PHP memory_limit must also be higher than your post_max_size value, otherwise uploads fail silently. If your host does not allow .htaccess PHP overrides, ask them to increase the values in php.ini directly.

What file permissions should the WordPress uploads folder have?+

The wp-content/uploads folder should have 755 permissions — owner can read, write and execute; group and world can read and execute. Files inside it should be 644. If the folder is set to 777, change it to 755 immediately. 777 is a security vulnerability that makes the uploads directory world-writable.

Why does WordPress say "Unable to create directory" when uploading images?+

This error means WordPress cannot create the year/month subdirectory inside wp-content/uploads. It is usually caused by the uploads folder not existing (create it via FTP with 755 permissions), the wrong server user owning the directory, or the WordPress uploads path in Settings → Media being set to a path that does not exist on the server.

Related service

Upload errors that keep returning usually indicate a misconfigured server environment. Our maintenance plans include direct developer access to diagnose and permanently fix server-level issues like these.

WordPress Maintenance Plans →

Next article

Troubleshooting

Elementor Editor Not Loading: Why It Happens and How to Fix It

→
← All articles