Docs Product page Dashboard
Docs Admin Media

Media

v1.5.4

Take control of the media library — regenerate thumbnails, add custom sizes, convert to WebP or AVIF, see exactly what is eating your disk, delete orphaned files, find images nothing uses, and organise everything into folders that work inside Elementor.

Included in every plan Updated August 2026

Overview

Media turns the WordPress media library from a dumping ground into something you can actually manage: what sizes exist, what they cost you in disk space, what is safe to delete, and where everything lives.

A WordPress site generates a dozen or more files for every image you upload. Change a theme, add a size, remove a size, switch to WebP — and the old files stay on disk forever. Media gives you a way to see all of that and clean it up, without ever touching your original uploads.

What you can do

  • Regenerate thumbnail sizes for one image or the whole library
  • Add your own custom image sizes that apply to new uploads and to regeneration
  • Convert generated sizes to WebP or AVIF and set the compression quality
  • Audit the disk footprint of every image, sorted largest first
  • Delete orphaned size files left behind by removed sizes or format switches
  • Find images nothing references and move them to a reviewable bin
  • Organise the library into folders that filter inside Elementor and the block editor
Your originals are never modifiedEverything here works on the generated sizes WordPress creates. The file you uploaded is never resized, re-encoded or moved — so nothing you do in this module can degrade your source image.

Requirements & compatibility

Media uses the image tools your host already has. No external service, no API key.

RequirementMinimumRecommended
WordPress6.06.5 or newer
PHP7.48.1 or newer
Image libraryGDImagick — needed for AVIF
WebP supportOptionalPHP 7.4+ with GD or Imagick
Formats your server cannot produce are disabledThe WebP and AVIF options check what your server can actually encode. If a format is unavailable the option is greyed out and labelled, rather than silently failing halfway through a bulk run.

Installation & activation

Media ships inside WPStack — switch it on per site from the modules panel.

1

Open the WPStack modules panel

In your WordPress admin, go to WPStack → Modules and find Media.

2

Activate Media

Flip the Media toggle to on. A new Media item appears in the WPStack menu.

3

Review your sizes

Open WPStack → Media → Settings to see every registered image size and add your own.

4

Check what you are storing

The Library tab shows your total footprint. Sort by Largest to see what is actually costing you.

Custom image sizes

Add named sizes that WordPress generates for new uploads and rebuilds when you regenerate.

Media
Regenerate thumbnail sizes, add custom sizes and optimise new uploads.
Custom image sizes
card-thumb400 × 400CROPRemove
hero-wide1600 × 0Remove
team-square600 × 600CROPRemove
Name (e.g. hero-square)WidthHeightAdd size
Optimize new images
Off — keep original JPEG / PNG
WebP — great compression, ~97% browser support
AVIF — smallest files, slower to encode
Compression quality (1–100)
82
Media folders
Enable media folders
The Settings tab — custom sizes, format conversion and the folders toggle.

A custom size is a name, a width, a height and whether it crops. Once added it behaves exactly like a built-in WordPress size: new uploads get it automatically, and it appears in the list of sizes you can regenerate.

  • Use 0 for width or height to keep that dimension proportional
  • Crop gives you an exact width × height, trimming the image to fit
  • Built-in size names (thumbnail, medium, large…) cannot be shadowed
Adding a size does not create the filesA new size only applies to future uploads. To give your existing images the new size, run Bulk regenerate — or regenerate individual images from the media library.

WebP, AVIF & compression

Convert the sizes WordPress generates into a modern format, and control how hard they are compressed.

Choosing WebP or AVIF makes WordPress write every generated size in that format instead of JPEG or PNG. New uploads convert automatically; existing images convert when you run a bulk regenerate.

OptionWhat it doesWhen to use it
OffKeeps JPEG and PNG as they areMaximum compatibility
WebPGood compression, very broad browser supportThe safe default for most sites
AVIFSmallest files, slower to encodeImage-heavy sites where transfer size matters most

Compression quality applies to JPEG whether or not conversion is on, and to WebP and AVIF when it is. PNG is lossless and is left alone. The default is 82; 75–82 is a good range.

The original stays in its original formatConversion applies to generated sizes only. Your uploaded file keeps its original format and quality, so you can always go back by switching the setting off and regenerating.

Regenerating sizes

Rebuild thumbnails for one image, or for the entire library.

One image at a time

A Regenerate button appears in the WPStack column of the media library list, in the media modal, and on the attachment edit screen — which also gains an Image sizes panel listing every generated size with its dimensions, file size and a direct link.

The whole library

Bulk regenerate works through every image in small batches and reports how much disk space it saved. Because progress is kept on the server, refreshing the page resumes the job rather than restarting it, and closing the tab simply pauses it.

Unchecked sizes are deleted, not skippedThe Sizes to regenerate list defines which sizes an image should have. When you regenerate, checked sizes are rebuilt and unchecked sizes are removed from that image — file and metadata. Leave everything checked (the default) to rebuild all and remove none. This is how you prune sizes you no longer want, but it is not a dry run.

The Library audit

See exactly what every image costs you on disk, and which ones are worth attention.

Library
1.4 GB across 312 images · page 1 of 8
NewestLargestSmallest
FileDimensionsTypeSizesTotal size
hero-banner.jpg2400 × 1350JPEG124.1 MB
team-portrait.png1800 × 1800PNG143.6 MB
product-detail.jpg1600 × 1200JPEG111.9 MB
background-tile.png1200 × 1200PNG10820 KB
logo-mark.svg512 × 512SVG411 KB
The Library tab — total footprint, per-image size, sortable largest first.

The footprint of an image is not the file you uploaded — it is the original, the scaled main file and every generated size added together. The Library tab totals all of that, per image and across the whole library.

  • Sort by Largest to find the handful of images using most of your disk
  • The Sizes column shows how many generated files each image has
  • The header total tells you what the media library actually costs

Cleaning up orphaned files

Remove generated size files that no image references any more.

Cleanup
Find and remove orphaned thumbnail files left behind on the server.
Orphaned size files
Generated size files still on disk that no image references anymore — left behind by custom sizes you removed, or by old-format files after switching to WebP or AVIF. Scanning is read-only; nothing is deleted until you confirm.
Found 418 orphaned files · 206 MB reclaimable.
Delete orphaned filesRescan
The Cleanup tab — scanning is read-only; deletion is a separate, confirmed step.

When you remove a custom size, or switch to WebP, WordPress stops referencing the old files but never deletes them. On a site that has changed theme once or twice this is routinely hundreds of megabytes.

Deliberately cautiousFor each image, the scan only ever looks at files that share that image's own file name and match the exact -WIDTHxHEIGHT.ext pattern, and it keeps everything still referenced in its metadata. It never walks your uploads folder at large, so an unrelated file that happens to look like a thumbnail is never touched.
1

Scan

Read-only. Reports how many orphaned files exist and how much space they use. Nothing is deleted.

2

Review the number

If it looks wildly wrong, stop and ask — do not delete.

3

Delete

A separate, confirmed action that removes only the files found in the scan.

Finding unused images

Track down images nothing on the site links to — and review them before anything happens.

Unused media
Find images nothing links to, review them, and move them to the bin.
Find unused images
Flags images that aren't a featured image, aren't in any post or page content, and aren't referenced in post meta (page builders, custom fields). Review the list and hit Keep on any you want to spare.
Found 24 unused images · 38 MB reclaimable.
Move 24 to binRescan
FileDimensionsTypeTotal size
old-campaign-header.png1200 × 400PNG740 KBKeep
draft-illustration.jpg1400 × 900JPEG1.2 MBKeep
unused-icon-set.svg480 × 480SVG18 KBKeep
legacy-banner.jpg1600 × 600JPEG910 KBKeep
The Unused tab — every candidate listed for review, with Keep on any you want to spare.

The scan flags an image only when it is not a featured image, not the site icon or logo, not in any post or page content, and not referenced in any other post's meta — which covers page builders and custom field plugins.

It errs towards keeping thingsAnything the scan cannot prove is unused is treated as used and left alone. The failure mode is "we missed one", never "we deleted something you needed".

The bin

Images you move go to the WordPress trash, which has no interface of its own for media — so the module provides one. They are hidden from the site but still on disk, and are permanently deleted after your site's trash retention period (30 days by default). Until then you can restore any of them, individually or all at once.

Review before you moveNo detection can see everything — an image referenced only from a hard-coded template path or an external system will look unused. Skim the list and hit Keep on anything you recognise before moving the rest.

Media folders

Organise the library into folders that work everywhere you pick an image — including Elementor.

Media Library
All media items ⌄All folders ⌄All dates ⌄
The folder sidebar inside the WordPress Media Library, with the folder filter in the toolbar.

Folders are virtual. Nothing moves on disk, so no image URL changes and nothing embedded in a page can break. A folder is a label on the image — and deleting a folder only removes the label, never the image.

Where they appear

  • A folder sidebar in the Media Library, in both grid and list view
  • Drag images onto a folder to move them — drag a selection to move many at once
  • A folder filter in every image picker: Elementor, the block editor and the classic editor
  • A Folder column, a folder filter and a "Move to folder" bulk action in list view
  • New uploads land in whichever folder you are currently viewing

Folders nest: drag one folder onto another to put it inside, or onto All media to bring it back to the top level. Unassigned always shows what is not filed yet, so nothing is ever hidden from you.

Turn it on when you want itFolders are off by default and enabled with a single toggle in Settings. Switching them off hides the sidebar and filters everywhere but keeps every assignment — turn it back on and your folders are exactly as you left them.
Who can do whatAnyone who can upload files can put images into folders. Creating, renaming and deleting folders is limited to administrators, so the structure stays stable.

Settings reference

Everything on the Settings tab, at a glance.

SettingTypeDefaultWhat it does
Custom image sizesListEmptyNamed sizes with width, height and optional crop. Applied to new uploads and to regeneration.
Convert formatOff / WebP / AVIFOffFormat for generated sizes. Formats your server cannot encode are disabled.
Compression qualityNumber 1–10082Applies to JPEG, and to WebP/AVIF when converting. PNG is lossless and unaffected.
Enable media foldersToggleOffAdds the folder sidebar, the picker filter and the list-view column. Assignments survive being switched off.
Sizes to regenerateCheckboxesAll selectedWhich sizes an image should have. Unchecked sizes are removed when you regenerate.

FAQ

No. Every feature operates on the sizes WordPress generates. Your uploaded file is never resized, re-encoded or moved.

The scan is read-only and shows you the number first. It only considers files matching an image's own name and the exact thumbnail naming pattern, and keeps everything still referenced. As with anything that deletes files, take a backup first.

It never deletes — it moves images to a bin you can restore from, and they only leave permanently after your trash retention period. It also errs towards keeping: anything it cannot prove is unused is left alone. Review the list and hit Keep on anything you recognise.

No. Folders are labels, not directories. No file moves, no URL changes, and nothing embedded in a page can break.

Yes. Elementor uses the standard WordPress media picker, so the folder filter appears there — as it does in the block editor and the classic editor.

Only the folder goes. Its images stay in the library and become Unassigned, and any folders nested inside it move up a level rather than disappearing.

Yes. Progress is stored on the server, so cancelling stops it cleanly, refreshing resumes it, and closing the tab just pauses it until you come back.

Conversion applies automatically to new uploads. Existing images convert when you run Bulk regenerate, which rebuilds their sizes in the new format.

Changelog

1.5.4
August 2026
addedMedia folders — virtual folders with a sidebar, drag and drop, and a filter in every image picker including Elementor
addedFolder column, filter and "Move to folder" bulk action in the media list view
addedUploads land in the folder you are currently viewing
1.4.0
August 2026
addedUnused media scan with a reviewable bin, restore and permanent delete
addedCleanup for orphaned generated size files
addedLibrary tab showing the disk footprint of every image
addedWebP and AVIF conversion with a compression-quality setting
improvedBulk regenerate now survives a page refresh and reports space saved
1.1.1
June 2026
addedCustom image sizes and per-image regeneration
Was this page helpful?