Trusted WordPress tutorials, when you need them most.
Beginner’s Guide to WordPress
25 Million+
Websites using our plugins
Years of WordPress experience
WordPress tutorials
by experts

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

Editorial Note: We earn a commission from partner links on WPBeginner. Commissions do not affect our editors' opinions or evaluations. Learn more about Editorial Process.

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. In fact, 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’ll show you how to fix the image upload issue in WordPress.

Fixing image upload issues in WordPress

Video Tutorial

Subscribe to WPBeginner

If you’d prefer written instructions, please keep reading.

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 files on the hosting server. You may get the following WordPress error when uploading an 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 disappear from the WordPress 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 that unexpectedly changed file permissions.

If everything else is working fine on your WordPress 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.

Don’t want to handle image issues on your own? Let the experts at WPBeginner Pro Services help! We offer affordable Emergency WordPress Support to quickly and reliably fix WordPress image issues, or any other website problem you have. Stop stressing over your site and get it taken care of. Schedule WordPress Support Services today!

Fixing the 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 switch to the /wp-content/ folder. Inside, you will 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 into the numeric value box, and then check the box next to ‘Recurse into subdirectories’. 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 the 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’. Next, you need to click on the Apply to files only’ radio button.

Finally, simply 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 an 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 beginner’s guide to image SEO or our comparison of the best WordPress plugins for managing images.

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. Here's our editorial process.

Editorial Staff

Editorial Staff at WPBeginner is a team of WordPress experts led by Syed Balkhi with over 16 years of experience in WordPress, Web Hosting, eCommerce, SEO, and Marketing. Started in 2009, WPBeginner is now the largest free WordPress resource site in the industry and is often referred to as the Wikipedia for WordPress.

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

297 CommentsLeave a Reply

  1. Syed Balkhi says

    Hey WPBeginner readers,
    Did you know you can win exciting prizes by commenting on WPBeginner?
    Every month, our top blog commenters will win HUGE rewards, including premium WordPress plugin licenses and cash prizes.
    You can get more details about the contest from here.
    Start sharing your thoughts below to stand a chance to win!

  2. henry says

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

  3. Vlad says

    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. :)

  4. Rob says

    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!!!!

  5. Brad F. says

    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.

  6. alex says

    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

  7. Reuben says

    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!

    • jackhamm says

      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.

  8. Reuben says

    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!

    • Raúl says

      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.

  9. vic says

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

    • mehdi says

      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 ??

  10. Dawn Cunnane says

    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!

  11. John says

    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?

  12. moon says


    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.


  13. Sonali says

    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.

  14. Muhammad says

    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

  15. Kristen says

    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!

  16. Keith says


    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.

    Keith Yuen

  17. MuhammadNauman says

    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!!

    • Jared says

      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?

  18. Robbie Ferguson says

    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 now becomes, which moves the files to /home/user/ – 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/ 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.

  19. Laurynas says

    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

    • WPBeginner Support says

      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.


  20. amardeep says

    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

  21. Aafia says

    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.

  22. Aaron says

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

  23. grant says

    When im in /wp-admin/customize/header the “add new image” button does nothing.
    Im having this on multiple themes and have tried:
    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.

  24. Asghar says

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

  25. Nina says

    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…

    • Nina says

      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!

  26. Monica says

    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

  27. Najam says

    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.

  28. Marie Reynolds says

    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!!!

  29. Tanbeen says

    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.

    • Vince Comfort says

      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.

  30. Stephen says

    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*

  31. ale says

    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!

  32. Abhishek says

    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?

  33. Andrew says


    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.

  34. Mandak says

    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

  35. Valentin says

    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!

    • WPBeginner Support says

      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.


  36. Laure says

    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

  37. toby Phillips says


    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.

  38. David Townsend says

    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?

  39. Thabiso says

    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.