{"id":41086,"date":"2021-12-23T09:07:47","date_gmt":"2021-12-23T09:07:47","guid":{"rendered":"\/tutorials\/?p=41086"},"modified":"2026-03-10T10:24:25","modified_gmt":"2026-03-10T10:24:25","slug":"wordpress-media-library-tutorial","status":"publish","type":"post","link":"\/in\/tutorials\/wordpress-media-library-tutorial","title":{"rendered":"WordPress Media Library: A complete guide to managing your site\u2019s media"},"content":{"rendered":"<p>The WordPress Media Library is the built-in system for storing and managing images, videos, audio files, and documents on your site.<\/p><p>This media manager keeps your files organized and accessible from <strong>wp-admin<\/strong> under <strong>Media &rarr; Library<\/strong>, where you can view them in a grid or list format, browse and search.<\/p><p>The image library includes an editor for cropping photos to exact pixel dimensions, rotating images, and adding alt text or captions without re-uploading files.<\/p><p>For advanced organization, plugins like FileBird add folder structures similar to Windows Explorer, while Enhanced Media Library lets you filter files using custom categories and tags.<\/p><p>Upload limits vary by hosting environment &ndash; typically 2MB on shared hosting, higher on managed platforms. You can increase this limit through your <strong>php.ini<\/strong> file, <strong>.htaccess<\/strong>, or hosting control panel when you need to upload high-resolution photos or videos.<\/p><p>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-what-is-the-wordpress-media-library\"><strong>What is the WordPress Media Library?<\/strong><\/h2><p>The WordPress Media Library is a centralized repository that organizes all uploaded media files and displays them in a searchable interface within your WordPress dashboard.<\/p><p>In simpler terms, it&rsquo;s the interface you use to view and edit files stored in your site&rsquo;s <strong>wp-content\/uploads<\/strong> folder.<\/p><p>To access the Media Library, open your WordPress admin dashboard and go to <strong>Media &rarr; Library<\/strong> in the sidebar.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed706f59b\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-media-library-access-button-on-wordpress-dashboard.png\" alt=\"WordPress media library navigation button\" class=\"wp-image-139830\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>When you upload a file or <a href=\"\/in\/tutorials\/how-to-add-images-wordpress\">add an image to WordPress<\/a>, the platform creates an attachment post type in the database.<\/p><p>This record stores metadata such as alt text, upload date, and uploader details, and links it to the file saved on the server.<\/p><p>The library supports several media file types, each suited to a different content use case:<\/p><ul class=\"wp-block-list\">\n<li><strong>Image formats<\/strong>. WordPress supports image files like<strong> .jpg<\/strong>, <strong>.jpeg<\/strong>, <strong>.png<\/strong>, <strong>.gif<\/strong>, <strong>.ico<\/strong>, and <strong>.webp<\/strong>. Most photos use JPG for smaller file sizes or WebP for even better compression. PNG works best for logos and graphics that need transparency, while ICO is specifically for favicons.<\/li>\n\n\n\n<li><strong>Audio files<\/strong>. Podcasters and musicians can upload audio in formats such as <strong>.mp3<\/strong>, <strong>.m4a<\/strong>, <strong>.ogg<\/strong>, and <strong>.wav<\/strong>. WordPress plays these files using built-in HTML5 audio players, so you don&rsquo;t need extra plugins.<\/li>\n\n\n\n<li><strong>Video files<\/strong>. You can store videos in formats like <strong>.mp4<\/strong>, <strong>.m4v<\/strong>, <strong>.mov<\/strong>, <strong>.wmv<\/strong>, and <strong>.avi<\/strong>. That said, it&rsquo;s better to host videos on platforms like YouTube or Vimeo and use the Media Library only for short clips or background videos.<\/li>\n\n\n\n<li><strong>Documents<\/strong>. WordPress supports document formats including <strong>.pdf<\/strong>, <strong>.doc<\/strong>, <strong>.docx<\/strong>, <strong>.ppt<\/strong>, <strong>.pptx<\/strong>, <strong>.odt<\/strong>, <strong>.xls<\/strong>, and <strong>.xlsx<\/strong>. These work well for downloadable resources like white papers, case studies, and product specifications.<\/li>\n<\/ul><p>Next, let&rsquo;s see how to upload files to the WordPress Media Library.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-upload-files-to-the-wordpress-media-library-via-the-dashboard\"><strong>How to upload files to the WordPress Media Library via the dashboard<\/strong><\/h2><p>To upload media to WordPress, open the Media Library in your admin dashboard and choose the files you want to add. Follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>Open your WordPress admin dashboard and go to <strong>Media &rarr; Add Media File<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed707161f\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-add-new-media-button-on-wordpress-admin-dashboard.png\" alt=\"WordPress add media file option\" class=\"wp-image-139829\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"2\" class=\"wp-block-list\">\n<li>On the <strong>Upload New Media<\/strong> page, click <strong>Select Files<\/strong>. A file explorer window will open.<\/li>\n\n\n\n<li>Choose the file you want to upload. To select multiple files, hold <strong>Ctrl<\/strong> and click each one.<\/li>\n\n\n\n<li>Click <strong>Open<\/strong> and wait for the upload to finish.<\/li>\n<\/ol><p>You can also upload files by dragging and dropping them. Open the <strong>Upload New Media<\/strong> page and your computer&rsquo;s file explorer side by side. Then, drag the files into the <strong>Drop files to upload<\/strong> area.<\/p><p><div><p class=\"important\"><strong>Important<\/strong> The maximum file size you can upload to the WordPress Media Library depends on your hosting provider&rsquo;s settings. On most Hostinger plans that limit is 2GB. <\/p><\/div>\n\n\n\n<\/p><p>Uploading media from the dashboard comes in handy when you want to prepare assets in advance. If you&rsquo;re adding files to WordPress while creating a post or page, it&rsquo;s faster to upload files directly through the block editor instead.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-upload-files-to-the-wordpress-media-library-via-the-block-editor\"><strong>How to upload files to the WordPress Media Library via the block editor<\/strong><\/h2><p>If you&rsquo;re writing a post or page, the <a href=\"\/in\/tutorials\/gutenberg-wordpress\">WordPress Gutenberg block editor<\/a> lets you upload media without leaving the editor. This approach adds the file directly to your content and saves time.<\/p><p>First, open the post or page editor. Go to <strong>Posts &rarr; All Posts<\/strong> or <strong>Pages &rarr; All Pages<\/strong> in the WordPress admin sidebar, then click <strong>Edit<\/strong> on the item where you want to add media.<\/p><p>Once you&rsquo;re in the editor, follow these steps:<\/p><ol class=\"wp-block-list\">\n<li>In the main editor area, click the <strong>+<\/strong> button to add a new block.<\/li>\n\n\n\n<li>Choose a <strong>Media<\/strong> block based on the file type you want to insert, such as <strong>Image<\/strong>, <strong>Audio<\/strong>, <strong>File<\/strong>, or <strong>Video<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed7073ade\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/media-blocks-on-wordpress-gutenberg-editor.png\" alt=\"Media block options in WordPress editor\" class=\"wp-image-139831\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Click <strong>Upload<\/strong>.<\/li>\n\n\n\n<li>Select the file from your computer and click <strong>Open<\/strong>.<\/li>\n<\/ol><p>WordPress uploads the file to the Media Library and inserts it into your post at the same time. As with the dashboard method, you can also drag and drop a file directly into the <strong>Media<\/strong> block.<\/p><p>Keep in mind that some <strong>Media<\/strong> blocks don&rsquo;t support bulk uploads. For example, the <strong>Image<\/strong> block allows only one image, while the <strong>Gallery<\/strong> block lets you upload multiple files at once.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-edit-images-in-the-wordpress-media-library\"><strong>How to edit images in the WordPress Media Library<\/strong><\/h2><p>The WordPress Media Library includes a built-in image editor that lets you crop, rotate, and resize images directly from the dashboard.<\/p><h3 class=\"wp-block-heading\"><strong>Cropping, rotating, and resizing images<\/strong><\/h3><p>To edit an image, open the Media Library by going to <strong>Media &rarr; Library<\/strong> in the WordPress admin sidebar. Select the image you want to change, then click <strong>Edit image<\/strong> to open the editor.<\/p><p>In the editing screen, use the buttons at the top to crop, scale, or rotate the image. You can also undo, redo, or discard your changes at any time.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed7075d73\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/file-editing-feature-of-wordpress-media-library-1024x697.png\" alt=\"Image editing options in WordPress\" class=\"wp-image-139832\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>When you&rsquo;re finished, click <strong>Apply<\/strong> and <strong>Save Edits<\/strong>. WordPress updates the image used on your site, but it keeps the original file. If you need it later, you can restore the original by clicking <strong>Restore Image<\/strong> in the editor.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed7077fc1\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-image-restoration-menu-on-wordpress-media-library-editing-menu-1024x453.png\" alt=\"Image restoration options in WordPress\" class=\"wp-image-139833\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>If you&rsquo;re working inside a post or page, you can also edit images directly from the <strong>Image<\/strong> block. Click the image, then use the toolbar or the block settings panel in the right sidebar to make adjustments.<\/p><h3 class=\"wp-block-heading\"><strong>Adding captions and alternative text<\/strong><\/h3><p>Adding captions and alt text to images helps improve search engine optimization (SEO) and accessibility.<\/p><p>Alt text improves accessibility and search visibility, while captions provide context that can support overall page relevance.<\/p><p>Both are important for accessibility because they describe images to screen readers, which helps visually impaired users understand your content.<\/p><p>To add captions and alt text, open the image from the Media Library. In the <strong>Attachment Details<\/strong> panel on the right, enter the caption and alt text in their respective fields. WordPress saves these details automatically.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed707a03d\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/alt-text-and-caption-fields-on-worpress-attachment-detail-menu-1024x499.png\" alt=\"Attachment Details panel in WordPress\" class=\"wp-image-139834\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p><div class=\"protip\">\n                    <h4 class=\"title\">&#128444;&#65039; Saving image alt text and captions<\/h4>\n                    <p>When you insert an image into a post or page, WordPress automatically loads its alt text and caption. These details are stored as image metadata, so they stay attached to the file wherever you use it.<\/p>\n                <\/div>\n\n\n\n<\/p><p>If you upload an image using the <strong>Image<\/strong> block in the block editor, you can add alt text from the block settings panel in the right sidebar. Captions, however, still need to be added through the Media Library.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed707c44b\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/alt-text-field-on-wordpress-image-block-configuration-menu.png\" alt=\"WordPress image block configuration menu\" class=\"wp-image-139835\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h3 class=\"wp-block-heading\"><strong>Replacing media without breaking links<\/strong><\/h3><p>Replacing files in the WordPress Media Library can cause broken links and 404 errors, if you don&rsquo;t do it properly.<\/p><p>For example, if you delete <strong>logo.png<\/strong> and upload a new file with the same name, WordPress assigns it a new database ID. Any post linked to the old file may lose its connection or attachment settings.<\/p><p>To avoid this issue, use a plugin like <strong>Enable Media Replace<\/strong>. Here&rsquo;s how:<\/p><ol class=\"wp-block-list\">\n<li>Open your WordPress admin dashboard, then <a href=\"\/in\/tutorials\/how-to-install-wordpress-plugins\">install and activate the plugin<\/a>.<\/li>\n\n\n\n<li>Go to <strong>Media &rarr; Library<\/strong>.<\/li>\n\n\n\n<li>Select the file to open the<strong> Attachment Details<\/strong> panel.<\/li>\n\n\n\n<li>In the right sidebar, find <strong>Replace media<\/strong> and click <strong>Upload a new file<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed707e7ac\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-upload-a-new-file-on-the-replace-media-option.png\" alt=\"Upload new file button to replace media\" class=\"wp-image-139836\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"5\" class=\"wp-block-list\">\n<li>Drag and drop the replacement image into the upload area.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed7080bd3\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-enable-media-replace-image-replacement-menu-1024x538.png\" alt=\"Select Replacement Media interface\" class=\"wp-image-139840\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"6\" class=\"wp-block-list\">\n<li>Scroll down and click <strong>Upload<\/strong>.<\/li>\n<\/ol><p>This method updates every instance of the file across your site, even if it appears in hundreds of posts.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-organize-media-files-efficiently\"><strong>How to organize media files efficiently<\/strong><\/h2><p>Keeping your WordPress Media Library organized helps maintain a smooth workflow, especially as your site grows and starts using thousands of media files. Below are practical ways to stay organized.<\/p><h3 class=\"wp-block-heading\"><strong>List view vs. gallery view<\/strong><\/h3><p>The WordPress Media Library offers two display modes: list view and gallery view. Knowing when to use each one makes it easier to find and manage your files.<\/p><p>Gallery view is the default option. It displays media in a grid with large thumbnails that you can scroll through continuously. This view works best when you want to visually scan assets and quickly spot a specific image.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed708334c\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/the-default-gallery-view-of-wordpress-media-library-1024x468.png\" alt=\"WordPress media library interface with images\" class=\"wp-image-139838\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>That said, gallery view can be resource-heavy because it loads many files at once. In larger libraries, this may slow things down.<\/p><p>List view displays files in a table format. It shows useful details like the author, upload date, and the posts or pages where each file appears. It also includes checkboxes and quick actions that make bulk management easier.<\/p><p>Because list view uses pagination, it loads faster than gallery view. However, browsing a large collection can feel slower since you need to move between pages.<\/p><p>In practice, you&rsquo;ll likely switch between both views depending on the task. You can toggle between them using the icons at the top of the Media Library.<\/p><h3 class=\"wp-block-heading\"><strong>Enable media categories and tags with a plugin<\/strong><\/h3><p>Adding categories and tags to your media files makes them easier to find, even when you can&rsquo;t remember the file name. It works much like grouping files into folders for better organization.<\/p><p>By default, WordPress doesn&rsquo;t support folders, categories, or tags for media. To add this functionality, you&rsquo;ll need a plugin such as <strong>Enhanced Media Library<\/strong>.<\/p><p>This plugin lets you create and manage media categories or tags from a simple dashboard. These labels also act as filters, which helps you narrow down files faster.<\/p><p>You can assign categories or tags from the <strong>Attachment Details<\/strong> panel, though bulk editing isn&rsquo;t supported.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed70859c1\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/enhanced-media-library-media-category-creation-page-1024x349.png\" alt=\"Attachment Categories panel in WordPress\" class=\"wp-image-139839\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>If you prefer a folder-based approach with a more visual interface, <strong>FileBird<\/strong> is a better fit. It adds a file explorer-style menu to the Media Library, where you can create folders and move files around just like on your computer.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed708843b\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/filebird-interface-on-wordpress-media-library-1024x508.png\" alt=\"FileBird media folder organization\" class=\"wp-image-139841\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><h3 class=\"wp-block-heading\"><strong>Bulk actions<\/strong><\/h3><p>Use the WordPress Media Library&rsquo;s bulk selection features to manage multiple files at once.<\/p><p>In gallery view, click <strong>Bulk Select<\/strong> at the top of the screen, then choose the images you want to manage. By default, WordPress only lets you permanently delete files in this view.<\/p><p>In list view, select the checkboxes next to the files, choose an option from the <strong>Bulk actions<\/strong> menu, and click <strong>Apply<\/strong>. You can select all items quickly by clicking the checkbox in the first row of the table.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed708ab60\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/wordpress-media-library-bulk-action-menu-1024x456.png\" alt=\"Media Library list view bulk actions\" class=\"wp-image-139842\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>Besides permanent deletion, list view also lets you attach multiple images to a post or page at once. This option appears only when you select unattached files.<\/p><h3 class=\"wp-block-heading\"><strong>Name files clearly<\/strong><\/h3><p>Clear file names make it easier to find specific assets in a large Media Library. They also help search engines understand your page content, which can improve visibility and rankings.<\/p><p>Follow these best practices when naming files:<\/p><ul class=\"wp-block-list\">\n<li><strong>Use hyphens<\/strong>. Avoid spaces, since browsers convert them into <strong>%20<\/strong>, which makes URLs harder to read. For example, use <strong>green-apple.jpeg<\/strong> instead of <strong>green apple.jpeg<\/strong>.<\/li>\n\n\n\n<li><strong>Use lowercase letters<\/strong>. Many servers are case-sensitive, so <strong>Image.jpg<\/strong> and<strong> image.jpg<\/strong> count as different files. Stick to lowercase to avoid confusion.<\/li>\n\n\n\n<li><strong>Be descriptive<\/strong>. Use clear, keyword-based names so files are easy to recognize. For example, <strong>content-team-photo-2026<\/strong>.png works better than <strong>img1<\/strong>.png.<\/li>\n\n\n\n<li><strong>Keep names short<\/strong>. Long file names are harder to scan and manage. Aim for 30 to 50 characters when possible.<\/li>\n\n\n\n<li><strong>Avoid special characters<\/strong>. Stick to letters, numbers, and hyphens. Special characters can break URLs and make files harder to locate.<\/li>\n<\/ul><p>Try to follow these rules every time you upload a file. Consistent naming is one of the easiest ways to keep your Media Library organized and searchable.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-fix-common-wordpress-media-library-issues\"><strong>How to fix common WordPress Media Library issues<\/strong><\/h2><p>Media Library issues can show up when you upload, manage, or use files in WordPress. Below are some common problems and how to fix them.<\/p><h3 class=\"wp-block-heading\"><strong>Missing Upload button<\/strong><\/h3><p>Sometimes, the <strong>Upload<\/strong> button may be missing from the WordPress Media Library or a Media block.<\/p><p>This usually happens when your user role doesn&rsquo;t allow media uploads. Administrators, Editors, and Authors can upload files, but Contributors and Subscribers can&rsquo;t.<\/p><p>If you don&rsquo;t have the right permissions, WordPress hides the <strong>Upload<\/strong> button.<\/p><p>Check your assigned role to confirm whether you&rsquo;re allowed to upload media. If your role is incorrect, contact the site administrator to update it.<\/p><p>A missing <strong>Upload<\/strong> button can also come from a plugin conflict. To troubleshoot, check your browser&rsquo;s console for errors or temporarily deactivate recently installed plugins to find the cause.<\/p><h3 class=\"wp-block-heading\"><strong>Permission errors<\/strong><\/h3><p>If you can&rsquo;t upload files to the WordPress Media Library, the issue may be incorrect folder permissions. The <strong>wp-content\/uploads\/<\/strong> folder should use the <strong>755<\/strong> permission.<\/p><p>The key number here is <strong>7<\/strong>, which allows WordPress to read, write, and execute files in the folder. Without write access, WordPress can&rsquo;t upload or modify any files.<\/p><p><div class=\"protip\">\n                    <h4 class=\"title\">&#128290; The numbers, Mason, what do they mean?<\/h4>\n                    <p>Check out our tutorial on the <a href=\"\/in\/tutorials\/how-to-change-linux-permissions-and-owners\">chmod command and Linux permissions<\/a> to learn what <strong>755<\/strong> means and how to fine-tune permissions.<\/p>\n                <\/div>\n\n\n\n<\/p><p>You should also set all files inside the uploads folder to <strong>644<\/strong>. This allows WordPress and the web server to read and manage media files without security risks.<\/p><p>Here&rsquo;s how to update permissions using <strong>Hostinger File Manager<\/strong>. If you&rsquo;re using a different hosting panel or an FTP client, the steps may look slightly different, but the process is similar:<\/p><ol class=\"wp-block-list\">\n<li>Open hPanel and go to <strong>Websites &rarr; Websites list<\/strong>.<\/li>\n\n\n\n<li>Find your WordPress site and click <strong>Tools &rarr; File Manager<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed708d357\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-large wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/file-manager-access-button-on-hpanel-1024x98.png\" alt=\"File Manager option in hPanel\" class=\"wp-image-139843\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Select <strong>Access files of yourwebsite.com<\/strong>.<\/li>\n\n\n\n<li>Navigate to <strong>public_html\/wp-content<\/strong>.<\/li>\n\n\n\n<li>Right-click the uploads folder and choose <strong>File Permissions<\/strong>.<\/li>\n\n\n\n<li>Set the numeric value to <strong>755<\/strong> and make sure <strong>Recursive<\/strong> is unchecked.<\/li>\n<\/ol><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed708f614\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/folder-permission-configuration-window-on-hostinger-file-manager.png\" alt=\"Hostinger File Manager permission settings\" class=\"wp-image-139844\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"7\" class=\"wp-block-list\">\n<li>Click <strong>Update<\/strong>.<\/li>\n\n\n\n<li>Repeat these steps for files inside the uploads folder, but set their permissions to <strong>644<\/strong>.<\/li>\n<\/ol><h3 class=\"wp-block-heading\"><strong>Media not displaying on site<\/strong><\/h3><p>Missing media files usually show up as broken icons on the front end. This issue often happens for a few common reasons:<\/p><ul class=\"wp-block-list\">\n<li><strong>Theme limitations<\/strong>. Some WordPress themes don&rsquo;t display media unless you add it in a specific way. For example, a theme may require images to be set as featured images instead of added through blocks, or it may expect specific image dimensions.<\/li>\n\n\n\n<li><strong>Hotlink protection<\/strong>. If you use a content delivery network (CDN) like Cloudflare, hotlink protection can block images from loading. This feature stops other sites from using your images, but strict settings can also affect your own pages.<\/li>\n\n\n\n<li><strong>Incorrect file paths<\/strong>. WordPress stores media URLs in the database. If you recently changed your site&rsquo;s address, such as switching domains or enabling HTTPS, some file paths may no longer match.<\/li>\n<\/ul><p>Once you identify the cause, try these fixes:<\/p><ul class=\"wp-block-list\">\n<li><strong>Switch themes<\/strong>. Check your theme&rsquo;s documentation to confirm how it handles media. If the theme doesn&rsquo;t support your use case, consider switching to one that does.<\/li>\n\n\n\n<li><strong>Adjust hotlink protection<\/strong>. Update your CDN settings to allow your site to load its own media files. If you&rsquo;re unsure how to do this, contact your CDN or hosting provider.<\/li>\n\n\n\n<li><strong>Update file paths<\/strong>. Make sure media URLs match your current site address. You can update them manually or use a plugin like <strong>Better Search Replace<\/strong>.<\/li>\n<\/ul><p>After making changes, clear both your site cache and browser cache. Cached data can cause images to appear broken even after you fix the issue.<\/p><h3 class=\"wp-block-heading\"><strong>Large file upload limits<\/strong><\/h3><p>When you upload large files, you may run into size limits. These limits usually range from a few megabytes to 2 GB, and WordPress shows the exact limit in the Media Library upload screen.<\/p><div class=\"wp-block-image\"><figure data-wp-context='{\"imageId\":\"69deed7091ed3\"}' data-wp-interactive=\"core\/image\" class=\"aligncenter size-full wp-lightbox-container\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-on-async--load=\"callbacks.setButtonStyles\" data-wp-on-async-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/www.hostinger.com\/tutorials\/wp-content\/uploads\/sites\/2\/2021\/12\/upload-size-limit-on-wordpress-media-library.png\" alt=\"WordPress Media Library maximum upload file size\" class=\"wp-image-139845\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" aria-label=\"Enlarge\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on-async--click=\"actions.showLightbox\" data-wp-style--right=\"state.imageButtonRight\" data-wp-style--top=\"state.imageButtonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p>If a file exceeds the limit, WordPress displays an error saying the upload is too large. While your hosting provider sets this limit, you can often increase it using one of these methods:<\/p><ul class=\"wp-block-list\">\n<li><strong>Use a plugin<\/strong>. Plugins like <strong>Big File Uploads<\/strong> let you raise the upload limit through a simple dashboard. This option is the easiest for most users.<\/li>\n\n\n\n<li><strong>Edit the .htaccess file<\/strong>. If you&rsquo;re on <a href=\"\/in\/wordpress-hosting\">managed WordPress hosting<\/a> and don&rsquo;t want to install a plugin, you can add PHP values to your <strong>.htaccess<\/strong> file. This method works best on Apache servers when you don&rsquo;t have root access.<\/li>\n\n\n\n<li><strong>Edit the php.ini file<\/strong>. If you have root access, updating values in the <strong>php.ini<\/strong> file gives you full control over upload limits. This approach is reliable and works across server setups.<\/li>\n<\/ul><p>For step-by-step instructions, check our tutorial on <a href=\"\/in\/tutorials\/how-to-increase-the-maximum-file-upload-size-in-wordpress\">how to increase the maximum file upload size in WordPress<\/a>.<\/p><h2 class=\"wp-block-heading\" id=\"h-how-to-optimize-wordpress-media-files\"><strong>How to optimize WordPress media files<\/strong><\/h2><p>Optimizing media files helps keep your WordPress site fast and improves search rankings. As your library grows, poor media management can slow things down.<\/p><p>Uploading raw, full-resolution images straight from a camera or stock site is one of the quickest ways to hurt site performance.<\/p><p>Large files use more storage and bandwidth, which leads to slower page loads. That frustrates visitors and can impact Google rankings.<\/p><p>To avoid this, compress files before uploading them. Compression reduces file size while keeping image quality intact.<\/p><p>You should also choose the right file format for each use case. For example, icons work best as ICO files because they support transparency and stay sharp at small sizes. JPEG files don&rsquo;t offer the same results.<\/p><p>Organizing and optimizing your Media Library is just one part of improving site speed. For a deeper, step-by-step approach, check out our complete guide on <a href=\"\/in\/tutorials\/optimize-images-wordpress\">how to optimize images in WordPress<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The WordPress Media Library is the built-in system for storing and managing images, videos, audio files, and documents on your site. This media manager keeps your files organized and accessible from wp-admin under Media &rarr; Library, where you can view them in a grid or list format, browse and search. The image library includes an [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/in\/tutorials\/wordpress-media-library-tutorial\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":337,"featured_media":130888,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"rank_math_title":"What is the WordPress media library? How it works and key features","rank_math_description":"The WordPress Media Library is a central place to store and manage your website\u2019s media files, including images, videos, audio, and documents.","rank_math_focus_keyword":"wordpress media library","footnotes":""},"categories":[22633],"tags":[],"class_list":["post-41086","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/biblioteca-de-midia-wordpress","default":0},{"locale":"en-UK","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/biblioteca-de-midia-wordpress","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/wordpress-media-library-tutorial","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/wordpress-media-library-tutorial","default":0}],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/posts\/41086","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/users\/337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/comments?post=41086"}],"version-history":[{"count":23,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/posts\/41086\/revisions"}],"predecessor-version":[{"id":130887,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/posts\/41086\/revisions\/130887"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/media\/130888"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/media?parent=41086"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/categories?post=41086"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/in\/tutorials\/wp-json\/wp\/v2\/tags?post=41086"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}