Beginner's Guide for WordPress / Start your WordPress Blog in minutes

How to Fix Image Upload Issue in WordPress (Step by Step)

Are you facing image upload issues on your WordPress website? For most beginners, image upload errors can be quite confusing because they can appear without you doing anything different.

Failure to upload images is one of the most common image issues in WordPress. Luckily, it is quite easy to fix, and you can do it yourself.

In this article, we will show you how to easily fix the image upload issue in WordPress. We will also explain what causes this issue, and how you can prevent it in the future.

Fixing image upload issues in WordPress

What Causes The Image Upload Issue in WordPress

The image upload issue in WordPress is typically caused by incorrect file permissions. Your WordPress files are stored on your web hosting server and need specific file and directory permissions to work.

Wrong file permissions prevent WordPress from reading or uploading file on the hosting server. You may get the following error when uploading image file:

‘Unable to create directory wp-content/uploads/2019/04. Is its parent directory writable by the server?’

Unable to create directory error

Or, you might see the error ‘The uploaded file could not be moved to wp-content/uploads/’.

Another sign of this issue is that your images may disappear from the media library.

Missing images in media library

My site was working fine before? Who changed the file permissions?

This could happen due to a number of reasons. A misconfiguration on your shared hosting server can sometimes change those permissions without you doing anything.

For example, your web hosting provider ran an upgrade which unexpectedly changed file permissions.

If everything else is working fine on your website, then you can simply apply the correct file permissions to fix the image upload issue.

That being said, let’s take a look at how to set correct file permissions to fix image upload issues on your WordPress site.

Fixing Image Upload Issue in WordPress

In order to change file permissions, you will need to use an FTP client.

First, connect to your website via FTP and then go to /wp-content/ folder. Inside, you’ll find the uploads folder, which is where WordPress stores all your media uploads including images.

Now right click on the uploads directory and then select File Permissions.

Opening file permissions dialog box for uploads folder

This will bring up the file permissions dialog box.

First, you will need to set file permissions for the uploads directory and all the subdirectories inside it to 744.

Change folder permissions

To do that, enter 744 in the numeric value box, and then check the box next to Recurse into subdirectories option. Now click on the ‘Apply to directories only’ radio button.

Click on the OK button to apply these changes. Your FTP client will now start applying file permissions to the directories.

Note: If setting directory permissions to 744 does not seem to solve your problem, then try 755.

In the next step, you will need to set file permissions for all the files in the uploads directory.

To do that, right click on uploads directory and select file permissions. In the file permissions dialog box, change the numeric value to 644.

Check the box next to Recurse into subdirectories. Lastly, you need to click on ‘Apply to files only’ radio button. Click on the OK button to apply these changes.

File permissions

The FTP client will now change the permissions for all files inside the uploads folder. Once it is done, you can go back to your WordPress admin area and try uploading images again.

If you have any file upload forms on your website, you should test those as well.

Note: if you don’t know how to use a FTP client, then you can also use the file manager provided by your WordPress hosting company. Since the screenshots will vary from each host, you will need to talk to their support to find instructions.

We hope this article helped you fix the image upload issue in WordPress. You may also want to see our article on how to choose the best WordPress hosting, or see our comparison of the best GoDaddy alternatives.

If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.

Disclosure: Our content is reader-supported. This means if you click on some of our links, then we may earn a commission. See how WPBeginner is funded, why it matters, and how you can support us.

The Ultimate WordPress Toolkit

Get FREE access to our toolkit – a collection of WordPress related products and resources that every professional should have!

Reader Interactions

292 CommentsLeave a Reply

  1. HELP!
    I tried uploading an image. An error says “File upload stopped by extension.”
    What’s wrong?

  2. Had the same issue on my site and it took me couple of hours to figure out the problem.

    In my case the issue was generated by Wordfence plugin after i cheked in Option section at the bottom the line “Disable Code Execution for Uploads directory”

    I was in the point of making back-up of database and to start again reinstaling everything from the scrach.

    After uncheking that selection from above in Option tab, everything come to normal. :)

  3. I tried your suggestions, I changed 755 to 744 and 644 fore the files. Did not work for me. Changed it back but problem http eror when uploading image file keeps appearing.

    any other suggestion!!!!

  4. I was getting an HTTP error when trying to upload images on WordPress. Whatever the most current version is right now. I went through disabling any plug-in that I thought might have some impact on images. None of that seemed to help.

    Today, I got on FileZilla and used the steps above. Switching to 744 broke images on my blog. If it wasn’t previously cached in my browser, it loaded as a broken image. So, I switched everything back to 755, which is what it was set to initially.

    After that, I went into the upload folders that match the months of the posts I was trying to add images to. I found, in FileZilla, that even though my WordPress dashboard in Chrome was showing that the image had not properly uploaded, and showed up as a little dot in the Media Library, it was actually in the folder in FileZilla and had “crunched” into different sizes as usual. I had deleted these images in the WordPress dashboard, but that apparently didn’t carry through into the database. So, I deleted them through Filezilla.

    When I attempted to re-upload the image through WordPress, it went in without a hitch. I’m not sure if this is unique to my situation, or if I’m forgetting anything, but I’m putting this here in case it’s helpful to anyone else having the same problem.

  5. 744 made my site not showing ANY picture :))) went back to 755 witch fixed it

    but my HTTP error is still there…

    WP 4.5.1 on HostGator, nothing special changed prior to the famous HTTP error when uploading files directly into WP

  6. Here’s some important information for anyone using GoDaddy – I followed the guide above which resulted in my website going down completely as it was unable to connect using the permissions above – I called up Godaddy to find out this default permissions to reset it and they were utterly useless.

    After a good number of hours messing around I managed to fix it by changing all the folder permissions that I’d amended to 705.

    Hope this helps anyone experiencing a similar issue!

    • So…..I was having the broken image link issue and did what it suggested above, mine were set at 705 when I had the issue. I have godaddy as a host. I did the steps above and it didn’t work and 705 was what it was set at before I tried to fix it. Any other settings I can try =( ) am SOL with 705 and 755.

  7. I followed your guide… now not only can I not upload images but I can’t get onto any part of my website – thanks a bunch!

    • Or you can try to put all in 777 it’s not secure but… remember the meaning of the octal sequence read=4, write=2, execute(or x)=1, then rwx=4+2+1=7 and r-x=4+0+1=5 or rw-=4+2+0=6, and the position of the bit indicate the user level, so if you put all in 777 bring permissions for everybody do all what they want. In all cases I recommend to put in contact whit the support team of your hosting, maybe they have a protocol for strange behavior.

  8. Please I got this error!,The uploaded file could not be moved to wp-content/uploads/2016/04.
    How can I escape from this

    • the same problem for me !!! now we are in 05 month but still trying to upload in 04 month and it can’t success so fail and failed and … is there any trick ??

  9. Wp Beginner to the rescue again! I thought I had a file permission issue as soon as I got an error uploading and watched this video to make sure how to change it properly. 744 didn’t work for me but 755 did, thank you guys!

  10. Hi, I tried changing Numeric value to 744 and now when I try to go to either my site or the /WP-admin dashboard I get a’ Server Error 500′ message. I’ve tried changing it back to 755, but no luck. I’m in a much worse position now! Any ideas on how to restore it back?

  11. Hi,

    I tried to move the wordpress site to another hosting using the wordpress export and import function (due to some reasons unable to use MySQL database migration). After the migration, I found no image shown on Media Library (but the webpages worked okay with the images shown properly). It makes problem for me to amend and change the images latter.

    Would you please let me know where to get the images of the uploads area into Media Library.

    Thanks

  12. I am not able to upload the pictures on my blog post. it just shows some blue box which shows the name of the image.

  13. Hi i have shifted my website from http to https as i buyed ssl certificate..after that my site is now working fine but only some images are bot showing and even media library images all are broken now..can i use this method to resolve my issue..plz help realy panic these days

    Have a look and suggest me

    Thanks alot

  14. Having the same trouble as several above – tried the recommended 644 fix and it broke it further. Switching back to 755 did not fix it.
    Weird issue, though… the time/date stamp from all of the broken images is Dec 31 1969!
    Help!

  15. Hi,

    I am very desperate for help. Initially I only have the problem for http error when uploading new images after updating my wp to 4.4.1

    So, after I followed your guide and changed the permission, now all my images from my website, inside my wordpress, post and thumbnail all not showing. How can I reset to my original permission settings. it’s like making it worse.

    Please please help me.

    Regards
    Keith Yuen

  16. It didnt worked for me!! Day before i tried all stuff and suddenly uploading starts but right now it seems like old !! Cant upload images says HTTP error!

    Any other solutions!!

    • I also have this error. My hosting claimed it was something with the theme I uploaded, but the theme host directed me here.

      Any idea why the http error is showing?

  17. This didn’t work for me so I dug a bit deeper.
    Turns out WordPress did not change the “upload folder” when I had previously renamed the site in Settings->General. When I change a domain name, my host moves the files automatically. Site a.com now becomes b.com, which moves the files to /home/user/b.com – so the site works fine, but once I try to upload, it fails.

    So I checked Settings->Media and sure enough, “Store uploads in this folder” is still set to /home/user/a.com. I edited it, and it works.

    So, double check “Store uploads in this folder” and ensure the path is correct in Settings->Media.

    Still, thanks for the post–indeed it was smart to change from 755 to 744 anyways… quite a bit safer.

  18. Hi,
    I have tried this method and unfortunately it did not work for me. But I am more concerned that I have changed permissions numeric value to 755 for files also. I don’t remember what it was before. Does that affect anything? And how I could restore it? Thanks

    • You can undo this by selecting the directory in FTP client. Right click and then change file permissions to 644. Select the radio button that says apply to files only and click on the OK button. See the last image in the article.

      Admin

  19. I am also facing the same image broken issue don’t know what to do,to add more my add media option is also not working nothing happens when i click on it

  20. My Images get uploaded but when the post is published all images vanishes and only featured image remains.What could be the Problem?I have tried to fix the problem temporarily by Gmedia plugin. But I would like to know what is the problem with my WordPress media gallery.

    Thanks in advance for your consideration.

  21. i can’t upload either. It’s doing my head in. I have tried all the suggested options above and still this happens….

  22. When im in /wp-admin/customize/header the “add new image” button does nothing.
    Im having this on multiple themes and have tried:
    Browser
    Cookies
    All plugins
    WP update
    User permissions
    File permissions

    I wonder if its a problem within the code of the customize page and specifically the button not being linked? Please any advice I have been stuck with this for ages.

  23. Hello
    Sir I have same problem I do what you said but my problem not solve please tell me what I can do now
    Thanks

  24. Thanks for helping me fix a little bit of my problem, but my uploads keep showing broken pictures for any added pictures, while the older pictures stay fine even though they have the same permissions, and file paths, etc. Also, it displays perfectly fine on Chrome and my smartphone, however Mozilla wont display certain pictures! I’ve tried everything I could find.

    I recently updated to php 5.5 which I suspect caused the issue. For those of you that are still having trouble, I’d suggest backing up everything and doing a fresh install.

    I tested another site with a fresh install and had no problem. Ugh. The trials and tribulations of wordpress…

    • I wanted to update that I solved my problem, in case this helps others. I have hotlinking protection enabled via my web host (hostgator). However, I had to

      1) Add my own site domain to the list of enabled sites (meaning bypass hotlinking for the site itself)

      2) I had to click ‘enable direct linking’ in order to enable others to see it besides myself when logged into wp-admin.

      Once I did this, my pictures were able to load, view, edit, etc.! This may not be everyone’s problem, but if you have tried the file permissions fix, then this may be a good next step.

      I had to use cpanel to fix this and go to the hotlink protection via hostgator. I don’t know how to fix it for other web hosts, but I imagine it’s similar. Good luck!

  25. I had to upload my whole Wp site with a backup and some images were not showing even after trying twice. I used your instructions and worked perfectly. My settings were 755, I tried 744 and then every image was broken. So I went back to 755 for all files and folders and that made it. So I guess original some files had different permissions. Thanks a lot

  26. For those who 755 or 777 didn’t work. Check out your Media settings page. If there is a path to where the files should be uploaded, try removing it to make it go to default. This worked for us and now we are able to upload without a problem.

  27. I am pulling my hair out trying to upload sydney settings to dashboard but it says

    The package could not be installed. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature

    I have tried uploading from different servers, even different computers… please help!!!

  28. I have tried all about this way. but nothing is happening. still image missing. i have contact to the host provider but they said its developer issue. what can i do now? please help me someone.

    • Hi Tanbeen,
      Check your plugins. Try to disable any cache plugin you have. Clear the cached files, then try to upload the images. It should work fine.

      If it still doesn’t work, contact me on facebook and I will check it out for you.

  29. Wow! This is fantastic – 755 worked for me. Thanks for this well-written article. First link I found off Google and it solved my problems immediately. Many thanks. *bow*

  30. I have the same problem! The file permission didn’t work for me either. I’ve been looking for a solution to this problem for over 4 months! Please give us another solution to try! Thank you!

  31. I’m facing http error while uploading image, how to fix that issue? I can’t upload any of the image , does that above tutorial world for that too?

  32. Hi

    Just thought I’d add on here that this issue isn’t always a permissions based issue but it can be due to file size. All images were uploading perfectly fine until my client tried to upload files of over 4000px in width and height.

    While the upload was successful the admin doesn’t seem to be able to handle the file.

  33. Well, this helped with the broken images in my media library, but didn’t fix the uploading issue. I’m 1/2 way there I guess! Thanks

  34. Hey guys,

    How are you? First comment and all. I’d be chippier but I need to get DTB. Right now I’m having a problem uploading media to a site. It’s been replicated both on live and localhost.

    The site runs on the Spanish 4.2.2 version of WordPress.

    Here’s the rundown:
    1) Any attempt to upload media (let’s say, a logo) to the site shows an instant 100% transfer completion message or hangs up.
    2) Regardless of what it returns, the files in the media library appear without title, without author, without attachment reference and without date.
    3) They are impossible to edit, view, or permanently delete (I don’t even get the option on this last one).
    4) The files are in the corresponding yyyy/mm folder and can be deleted there but it doesn’t affect the Media library interface.

    Here’s two screencaps to help illustrate:

    What I’ve tried:
    1) Theme(Salient) & plugin on/off
    2) WordPress 4.2.2 Dashboard reinstall
    4) .htaccess modsec hack
    3) Rain dance

    Any help would be most appreciated. Hell, I’d be more than willing to buy someone a beer over this.

    Disclaimer: this may or may not be an almost carbon copy from my post at WordPress Support. Yes, I am shameless. I regret nothing!

    • We see that you have already tried rain dance, not sure we can be much help after that :) but we will try. Have you tried increasing WordPress PHP memory limit. If that doesn’t work then connect to your website using an FTP client and go to wp-content/uploads/ folder to verify that WordPress is able to regenerate image sizes. For any image you upload to WordPress there should be at least three or more copies of the same image in different sizes. If there are no image sizes just the original upload, then most probably your WordPress file permissions are not set properly.

      Admin

  35. Hi,
    still doesn’t work for me :( Even tried full access, images seem to be upload correctly, I even have access to them if I use the link displayed in image description (from wordpress/media) but that’s all

  36. Hi,

    I tried this and now all the links to my previous images are now broken on my blog and I still have the upload issue ;-( Any help would be appreciated.

  37. I’m on a Mac using Fetch FTP to access my wordpress files. When I right-click on the uploads folder, I only have an option that says “UNIX equivalent” and a box to enter in the new number 744. There’s no other checkbox options. How do I find that?

  38. Thank you for assistance , it worked for me. I created folder in uploads with permission 755 and pictures inside were permission 644 and my array slide show worked

Leave A Reply

Thanks for choosing to leave a comment. Please keep in mind that all comments are moderated according to our comment policy, and your email address will NOT be published. Please Do NOT use keywords in the name field. Let's have a personal and meaningful conversation.