How to Download Discord Media in Bulk (Images, Videos, Audio)

By DiscordKit Team ·

Most Discord channels with content worth archiving have hundreds or thousands of images, video clips, and audio files scattered across thousands of messages. Downloading them one at a time is impossible at scale — Discord's own UI has no "export attachments" feature. This guide shows three ways to bulk-download Discord media in 2026, with practical notes on file-size limits, server NSFW handling, and how to organize the resulting folder structure.

Bulk-download images, videos, and audio from a Discord channel

What counts as Discord "media"

Discord groups attachments into four categories, and your tool matters because each one has different limits.

Images

Video

Audio

Other files

Method 1 — Save them one by one (impossible past 50 attachments)

The naive path. Click each thumbnail, click the original, right-click, save, repeat. For a 200-message channel with 50 images per message, that's 10,000 clicks.

When this works

When it doesn't

Method 2 — Discord's official data package (slow)

Same data download as for chat logs and emojis. Discord's official path includes the raw URLs and metadata for every file you've ever sent or received.

Steps

  1. Open User Settings → Privacy & Safety on discord.com
  2. Click Request all of my Data
  3. Wait 1-3 days for the email
  4. Unzip and find the messages folder; each .csv row has a column with attachments

Pros

Cons

Method 3 (recommended) — DiscordKit Media Downloader

DiscordKit's Media Downloader scans the channel you're currently viewing and saves every attachment matching your filters, with date range, type filter, and folder organization all configurable.

Step 1 — Install the extension

Add the Media Downloader from the Chrome Web Store. Firefox and Edge builds are linked from the same product page.

Install Media Downloader from your browser store

Step 2 — Open the channel and click the extension icon

The extension reads the channel ID from the URL and fetches the channel's full message history through your authenticated session. It never asks for a Discord token or your password.

Step 3 — Configure filters

The panel gives four controls:

Step 4 — Click Download All

Files save to a folder you select through your browser's normal download flow. For a 1,000-image channel the run typically takes 2-5 minutes depending on your connection.

Privacy in plain English

The extension reads message history from the page DOM and the standard Discord API. It does not call any third-party service, does not store anything on its own servers, and the downloaded files go directly to your disk. There is no upload step.

Extension panel with date range, type filter, and folder scheme

How DiscordKit's Media Downloader differs from the Image Exporter

| Feature | Media Downloader | Image Exporter | |---|---|---| | Image types | ✅ | ✅ | | Video types | ✅ | ❌ | | Audio types | ✅ | ❌ | | Date filtering | ✅ | ✅ | | Format filtering | ✅ | ✅ (image only) | | Best for | Mixed-media channels | Image-only boards |

For most channels the Media Downloader is the right pick. The Image Exporter makes sense for image boards where you can skip video files entirely and want to maximize throughput on a single file type.

Handling NSFW channels

DiscordKit extensions do not have any special handling for NSFW channels — the user's age verification happens at the Discord client level, and if you can view a channel in your client, the extension can read it from the DOM.

A small note on local responsibility: what you do with NSFW media you've downloaded is up to you, but Discord's TOS prohibits redistributing server members' uploaded content without permission. The Media Downloader is intended for personal archival, not redistribution.

Organizing after download

DiscordKit's exporter creates a folder structure like:

channel-acme-marketing-2024/
├── 2024-01/
│   ├── 2024-01-15_image1.png
│   ├── 2024-01-15_clip2.mp4
│   └── 2024-01-31_voice-msg.ogg
├── 2024-02/
│   └── …
└── manifest.json

The manifest.json records each file's source message ID, original uploader, upload timestamp, and Discord CDN URL (for re-downloading if a local file corrupts). For researchers and archivists, this manifest is the difference between a one-off bulk save and a reusable archive.

FAQ

Does this work for DMs?

Yes. The extension follows the same authorization rules as your Discord client — any channel you can read, it can read.

Are NSFW channels downloadable?

Yes, if your Discord account has the right age and the channel is accessible. The extension does not enforce any policy of its own.

What happens if a file is larger than 50 MB?

Discord rejects uploads above 50 MB at the source, so a 50 MB cap doesn't actually appear in any Discord client. The extension will still attempt downloads above that if Discord's API returns them (rare edge cases).

Does the extension support zip-on-the-fly?

Yes — there's a "Save as a single ZIP" toggle. The streaming ZIP encoder avoids loading all files into memory.

Will my server admins know?

The extension reads from your authenticated session. The server has no signal that the export ran.

What about voice messages?

Voice messages are stored as audio attachments on the message they were sent in. They export normally as part of the Audio filter.

Can I limit by uploader?

Yes. The panel has an "Only from these users" input that accepts user IDs or @mentions and excludes the rest.


Related guides

Install: DiscordKit Media Downloader


Updated 2026-09-27. Maintained by the DiscordKit team. Discord is a trademark of Discord Inc.; this guide is unofficial and not affiliated with Discord Inc.

About the author

The DiscordKit Team maintains DiscordKit's 13 browser extensions for <a href="https://discord.com">discord.com</a>. We read every support email personally and update our tools whenever Discord ships changes to its web app.

Have a workflow or tutorial idea? Email [email protected] with the topic and we will add it to the editorial calendar.