Title: ZipMyMedia
Author: Dhaval Verma
Published: <strong>May 15, 2026</strong>
Last modified: May 15, 2026

---

Search plugins

![](https://ps.w.org/zipmymedia/assets/icon-256x256.png?rev=3532975)

# ZipMyMedia

 By [Dhaval Verma](https://profiles.wordpress.org/dhavalv44/)

[Download](https://downloads.wordpress.org/plugin/zipmymedia.1.3.0.zip)

 * [Details](https://test.wordpress.org/plugins/zipmymedia/#description)
 * [Reviews](https://test.wordpress.org/plugins/zipmymedia/#reviews)
 *  [Installation](https://test.wordpress.org/plugins/zipmymedia/#installation)
 * [Development](https://test.wordpress.org/plugins/zipmymedia/#developers)

 [Support](https://wordpress.org/support/plugin/zipmymedia/)

## Description

WordPress lets you bulk-select media files in the Media Library, but only to delete
them. **ZipMyMedia** adds the missing piece: a “Download Selected” button that zips
up all the selected files and sends them to your browser as a single download.

It works seamlessly in both grid view and list view, and uses WordPress’s native
UI patterns so the button feels like a built-in feature.

#### Features

 * Adds a “Download Selected” button next to “Delete permanently” in grid view bulk-
   select mode
 * Adds a “Download Selected” option in the bulk actions dropdown in list view
 * Button stays disabled until you actually select something, with a live count 
   of selected items
 * Single files download directly (no unnecessary zipping)
 * Multiple files are bundled into a timestamped ZIP archive
 * Handles duplicate filenames automatically (appends attachment IDs)
 * Uses nonce verification and capability checks for security
 * No settings page, no database tables — install and it just works

#### Use cases

 * Migrating media from one site to another
 * Downloading a batch of client photos in one go
 * Backing up specific media files without grabbing the entire uploads folder
 * Pulling assets for offline editing

#### Requirements

 * WordPress 5.5 or higher
 * PHP 7.4 or higher
 * PHP `ZipArchive` extension (available on virtually all hosts by default)

## Installation

#### Automatic install

 1. Go to **Plugins > Add New** in your WordPress admin
 2. Search for “ZipMyMedia”
 3. Click **Install Now**, then **Activate**
 4. Open your **Media Library** — the new button is ready to use

#### Manual install

 1. Download the plugin ZIP file
 2. Go to **Plugins > Add New > Upload Plugin** in your WordPress admin
 3. Choose the ZIP file and click **Install Now**
 4. Click **Activate Plugin**

#### How to use it

**Grid view:**
 1. Go to **Media > Library** 2. Click the **Bulk Select** button
in the top toolbar 3. Click on the media items you want to download 4. Click the
blue **Download Selected** button next to “Delete permanently”

**List view:**
 1. Switch to list view from the toggle near the search bar 2. Tick
the checkboxes next to the items you want to download 3. Choose **Download Selected**
from the **Bulk actions** dropdown 4. Click **Apply**

## FAQ

### Where do the downloaded files come from?

The plugin downloads the original files from your `/wp-content/uploads/` folder —
the same files WordPress stored when you uploaded them.

### Are image thumbnails included in the ZIP?

No. Only the original full-size files are included. The smaller thumbnail versions(
e.g. `image-150x150.jpg`) are skipped.

### Is there a file size or count limit?

The plugin itself doesn’t enforce a limit, but your server’s PHP `memory_limit`,`
max_execution_time`, and available disk space will. For very large batches (hundreds
of MB or more), make sure your hosting allows long-running processes.

### Where is the ZIP file created?

The ZIP is temporarily created in your `/wp-content/uploads/` folder, streamed to
your browser, and then immediately deleted. Nothing is left behind on your server.

### Who can use the download button?

Any user with the `upload_files` capability — by default that’s Authors, Editors,
and Administrators. The same group of users who can upload media can download it
in bulk.

### Does this work on multisite?

Yes. Each subsite’s Media Library has its own button, and downloads are scoped to
that subsite’s uploads.

### Will this conflict with other media library plugins?

The plugin is intentionally non-invasive — it only adds a button and an AJAX handler.
It shouldn’t conflict with other plugins that modify the media library, but if you
run into issues, please open a support ticket.

### Why does the button briefly show “Zipping…” after clicking?

Building the ZIP takes a moment for larger batches. Once the browser starts the 
download, the button resets.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“ZipMyMedia” is open source software. The following people have contributed to this
plugin.

Contributors

 *   [ Dhaval Verma ](https://profiles.wordpress.org/dhavalv44/)

[Translate “ZipMyMedia” into your language.](https://translate.wordpress.org/projects/wp-plugins/zipmymedia)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/zipmymedia/), check
out the [SVN repository](https://plugins.svn.wordpress.org/zipmymedia/), or subscribe
to the [development log](https://plugins.trac.wordpress.org/log/zipmymedia/) by 
[RSS](https://plugins.trac.wordpress.org/log/zipmymedia/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.3.0

 * Fixed an infinite-loop bug in the MutationObserver that caused the browser to
   slow down on busy admin pages
 * Added requestAnimationFrame batching for DOM mutation handling
 * Idempotent button state updates to prevent self-triggering observer callbacks
 * Skip mutations originating from inside the plugin’s own button
 * Added cleanup on page unload to disconnect the observer

#### 1.2.0

 * Button now starts disabled and only enables when items are selected
 * Live selection count shown in the button label, e.g. “Download Selected (3)”
 * Removed dashicons icon (was rendering as a blank box on some setups) in favor
   of plain text

#### 1.1.0

 * Button now only appears when bulk-select mode is active (was previously visible
   all the time)
 * Improved CSS to match WordPress native button styling
 * Better DOM observation to react to mode toggles

#### 1.0.0

 * Initial release
 * Grid view download button
 * List view bulk action option
 * Single-file direct download, multi-file ZIP archive

## Meta

 *  Version **1.3.0**
 *  Last updated **2 days ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.5 or higher **
 *  Tested up to **6.9.4**
 *  PHP version ** 7.4 or higher **
 *  Language
 * [English (US)](https://wordpress.org/plugins/zipmymedia/)
 * Tags
 * [bulk](https://test.wordpress.org/plugins/tags/bulk/)[download](https://test.wordpress.org/plugins/tags/download/)
   [media](https://test.wordpress.org/plugins/tags/media/)[media library](https://test.wordpress.org/plugins/tags/media-library/)
   [zip](https://test.wordpress.org/plugins/tags/zip/)
 *  [Advanced View](https://test.wordpress.org/plugins/zipmymedia/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/zipmymedia/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/zipmymedia/reviews/)

## Contributors

 *   [ Dhaval Verma ](https://profiles.wordpress.org/dhavalv44/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/zipmymedia/)