Are you wondering where does WordPress store images on your website?
Many WordPress beginners have asked us how does WordPress store images, and what they can to do to organize their media library more efficiently.
In this article, we’ll explain how WordPress stores images on your website. We’ll also share tools and plugins that you can use to organize your images more efficiently.

How Does WordPress Store Images?
WordPress comes with a built-in system to manage media uploads like images, videos, audio, and documents on your WordPress website.
This system allows you to easily upload images and other media to a specific folder on your WordPress hosting server.
These files are then displayed in your WordPress media library. You can view all your uploads under Media » Library page. From here, you can also edit these files, manipulate them, or even delete them.

The specific folder where the image files are stored in WordPress is called the uploads folder located inside the /wp-content/ folder.

Inside the uploads folder, your media files are stored by year and month folders. Additionally, you’ll also see folders created by your WordPress plugins to save other uploads.
For instance, all your media files uploaded in June 2022 will be stored in:
/wp-content/uploads/2022/06/
You can view these files and folders by connecting to your WordPress hosting account using an FTP client or via the File Manager app under your hosting account control panel.

You’ll notice that there are several copies of each image that uploaded on your server. These image sizes are generated automatically by WordPress when you upload an image.

By default, you may see a thumbnail, medium, and large size of the image along with the original upload.
Apart from that, your WordPress theme or plugins may also generate additional image sizes for them to use.
Now you may be wondering how does WordPress display information about these files inside the media library?
To do that, WordPress also stores information about your image uploads in the database as an attachment post type under the posts table.
Apart from that, WordPress also saves information in the posts meta table when you insert images into posts/pages or any other custom post type.

For instance, when you set a featured image, WordPress saves this information as a meta key _thumbnail_id
and stores it in the postmeta table of your database.

The information inside your database tells WordPress the location of the file on your hosting server. Now if you delete a file from your server using FTP, then WordPress will show those images as broken.

Similarly, if you delete the reference to an image from your WordPress database, the file will still be intact on your hosting server but not appear in your media library.
Changing How WordPress Stores Images and Media Uploads
By default, WordPress does not allow you to change the uploads location from the WordPress admin area. The only change you can make is to disable the month and year based folders by visiting Settings » Media page.

From here, you can also adjust the maximum dimensions in pixels for your image uploads.
Advanced WordPress users can follow our tutorial on how to manually change the default WordPress uploads folder.
Organizing Your Images in WordPress
For most users, the default WordPress media library would work just fine.
However, if images play a more significant role in your WordPress blog, then you may need additional tools to organize your uploads.
For instance, if you run a photography website, then you may want to organize your content in Albums or tags.
For that, you will need a plugin like Envira Gallery. It is a WordPress image gallery plugin that allows you to organize your images in albums, tags, and galleries.

Allowing Users to Upload Images in WordPress
By default, WordPress allows any users who can write posts on your website to upload images. This includes users with the Administrator, Author, Editor, and Contributor user roles.
But what if you wanted other users to upload images on your website without logging into the admin area?
To do that, you’ll need the WPForms plugin. It is the best WordPress form builder plugin and allows you to easily create any kind of forms for your website.
It also comes with a file upload field that allows users to easily upload images, documents, and other files without creating a user account or accessing the WordPress admin area.
First, you need to install and activate the WPForms plugin. For more details, see our step by step guide on how to install a WordPress plugin.
Upon activation, you need to visit the WPForms » Settings page to enter your license key. You can find this information under your account on WPForms website.

Next, you need to visit WPForms » Add New page to create your image upload form.
First, you need to provide a title for your form. After that, you can look for File Upload Form template to get started.

WPForms will now load the form builder interface and automatically load form fields from the File Upload Form template.

The form will include a file upload field by default. You can add or remove fields to your form, change their labels, or move them up or down.
You can click on the File Upload field to change its settings. From here, you can set which file types and how many files a user can upload. You can also set a maximum file size limit.

Once you are finished, you can save your form and exit the form builder.
Next, you need to create a new post or page or edit an existing one. On the post edit screen, go ahead and add WPForms block to your content area.

From the WPForms block settings, click on the drop-down menu to select the form you created earlier.
You can now save your changes and preview your post or page to see your file upload form in action.

You can view files uploaded by users by visiting WPForms » Entries page and clicking on your File upload form. From here you can view an entry to see the files uploaded.

For more details, see our complete guide on how to allow users to upload images in WordPress.
Optimizing WordPress Images for Performance
Images are highly engaging thus they make your content more interesting for users. However, they also take more time to load than just plain text.
This means if you have multiple large images on a page, then your webpage will load slower. This slow page speed affects user experience as well as SEO.
Luckily, there are tons of tools to easily optimize your images for the web before uploading them to WordPress.
For instance, you can use a WordPress image compression plugin to automatically optimize each image that you upload to your website.
You can further boost performance by using a CDN (content delivery network). This allows you to load images from a global network of servers instead of your hosting server.
We recommend using Bunny.net which is the best CDN service on the market. It is super easy and comes with its own WordPress plugin for quicker setup.
We hope this article helped you learn where WordPress stores images on your site. You may also want to see our guide on how to find royalty free images for your WordPress blog, or see our beginner guide on how WordPress actually work behind the scenes.
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.
guy says
hi
i have about 100 images in my gallery.
when i looked at the download images in the server, i sow almost 1000.
same image 10 times.. with different resolution.
why is that?
how do wordpress store images?
thanks
WPBeginner Support says
Those are generated image sizes, you would want to take a look at our guide below for preventing duplicates:
https://www.wpbeginner.com/wp-tutorials/how-to-prevent-wordpress-from-generating-image-sizes/
Admin
Gabriel Bartholomeu says
If I only move the files to wp-content folder, does it still creates a reference in database?
WPBeginner Support says
No, it would not.
Admin
Pratik Patel says
Hello Admin,
I have some issues in automated Generated URLs,
I have some URLs that includes only individual images in body from the rest of the website URLs, and they are indexed in Google. I wanted to remove this type of URLs from the Google Index.
WPBeginner Support says
If you mean the image attachment page then you would want to set up your robots.txt: https://www.wpbeginner.com/wp-tutorials/how-to-optimize-your-wordpress-robots-txt-for-seo/
If they are pages you created then you can use a plugin like Yoast SEO to noindex the page: https://www.wpbeginner.com/wp-tutorials/how-to-hide-a-wordpress-page-from-google/
Admin
Luis Garcia says
Hi,
I have been working in a website. It is a redesign of an already existing page, so what I did was: I exported all posts and pages through WP Exporter, but the images were missing. So, now the posts that had galleries don’t have the galleries, they don’t show up. Later, and as I was really advanced, I realized I should’ve exported and imported the database as well. Long story short, now I am trying to recover those images and make them appear in my current site. Is there a way to blend the last database with the new one?
Thanks a lot.
Lucy says
Hi,
Thanks a lot for your help!!!
Is there a plugin which can help to remove all the images not actualy used in any posts or pages?
Thank you.
John Cena says
Is this possible in WooCommerce?
Thanks in advance
Nitish says
Hello
how to upload user images from custom template to custom folders and also in database table.
Pls help
Thanku.
Adam says
Hello – Are there other places that WP can store images? I’ve taken over a legacy site (a pretty new site) and an image i need to replace is not located in the media library but does not appear to be hosted outside the site.
John says
Hi Adam, did you ever figure this out? I’m running into the same issue. I have a list of images that are too big in file size, so I am going through the site and reducing these to optimize our site upload time. I’m having no luck with finding ANY images that contain “/legacy” in the URL.
Mahmoud Momani says
Hello,
Thanks for the article.
I have a question about converting an ASP.NET website to wordpress, if you can write an article describing the required tables and how to insert data in it.
Thanks.
Holly says
If I delete and image from my media library after posting it to my site will it delete the image off of my site as well?
WPBeginner Support says
Hi Holly,
Yes, it will delete the image from your site as well.
Admin
Ruth Billheimer says
Am I right in thinking that having a lot of images in the media library doesn’t slow up the site? I’m trying to get my head round the way pages load, to try and get a better speed. So if you have a lot of images on a page, they will slow it up but it doesn’t matter how many images you have stored. Is that right?
WPBeginner Support says
Yes. You can store as many images on your site as you want. However, WordPress will only load the images displayed on the page. You need to make sure that your images are optimized for speed and performance.
Admin
nilesh nolkha says
I had one question regarding SEO of images. When you upload pics in media library, you can suggest a title, caption and alt text. Similarly when you are actually adding that media to the post pr image widget on page builder, you again can enter title, caption, alt image etc. Does it matter if we do it once or we have do it again for the media while adding it to a post ? How it is different
Ruth Billheimer says
I think the caption can vary depending on where you’re using the image but the others stay the same. The alt text should be different from the title, or you can mark the image as decorative. If you have an accessibility plugin for people with a visual impairment, you also have to fill in the description.
Sandy Ellingson says
Is there a way to export a list of items in the media file with the associated links? I found this post while trying to answer this question. I have looked for the wp_post file via phpmyadmin and can’t find it. Perhaps this is an old post?
Marc Connor says
Do you guys recommend using your own image folder structure via FTP?
I like to create a folder in the root called “images”, and store the images there. Well, as many as that particular WordPress t heme would let me.
Is that better or worse than the default date-based structure?
Sincerely,
Marc
Bob says
I built a website on my churches server. So now when I’m building my personal site which is a different server. I see all of the media of my churches site with my personal. Oh I built them on my laptop.
Ronnie says
Please make the website responsive on phone
jabbo126 says
It’s shame, that WordPress still haven’t better media files upload solution with better folder organization.
Ikramullah says
Hi,
My attached one of images are not shown as image tag beside starting paragraph as a tag.
How to enable this feature?
I need this info.
Thanks.
arya says
good post
vijay jangra says
Hello editorial staff members, i have read and seen your many blog posts. I have a question in mind.
How to build these beautiful images for your blog posts.
kif says
hello, can you tell us why wp crop images? even when i upload i single one?
thank you for your daily edition emails!
Nawaze says
I do not know better, but I think after uploading you should change the size to full.
Kevin says
WP automatically creates thumbnails, and versions for various sizes (small, medium, large, etc) for use with various devices on responsive website. So generally you’ll have the original size + the various auto-created sizes. You can then pick the appropriate size when adding an image to a page/post and WP will then serve the correct version for the device being used.