How to Export Gmail Emails That Have Attachments
has:attachment in Gmail so only those messages show, then use a free browser extension to export the view to CSV. You get one row per email — sender, subject, date and snippet — for every message carrying a file. The export lists the emails; downloading the files themselves is a separate step.Attachments are where the important stuff lives: contracts, invoices, signed PDFs, photos, spreadsheets. Often you don't want every email — you want an index of the ones that carry a file, so you can audit what was sent, find the big messages clogging your storage, or line up the files you need to download. This guide covers building that list and exporting it, and is honest about where the line sits between listing emails and downloading the attachments.
Step 1 — Show only emails with attachments
Gmail's has:attachment operator filters your view to messages that include at least one file:
has:attachment— every email with any attachment.filename:pdf— only emails with a PDF (swap inxlsx,docx,jpg,zip, etc.).has:attachment larger:5M— attachments big enough to matter for storage.
Note that has:attachment ignores inline images like signatures and email-tracking pixels, so the list is genuinely "emails with real files," not every message that happens to contain an image.
Step 2 — Export the list in one click
- Install Gmail Exporter from the Chrome Web Store — free, no account.
- Search
has:attachment(plus any filters you want) and press Enter. - Click Export and choose CSV, Excel or JSON.
- Open the file — one row per attachment-bearing email, ready to sort by date or sender.
Everything runs locally in your browser, so the list is written straight to your device with nothing uploaded.
Index every email with an attachment — free
Build a sortable list of attachment-bearing emails in one click, privately.
Add to Chrome — It's FreeListing emails vs. downloading the files — the honest distinction
It's worth being clear about what an export of this kind does and doesn't do:
- What you get today: a clean CSV listing every email that has an attachment — sender, subject, date, snippet. That's an index of the messages.
- What it doesn't do yet: it doesn't pull the attachment files out into a folder. The files stay in the emails. Bulk attachment download is a feature we're planning, not one to assume is here today.
If your goal is the actual files in a folder or ZIP, head to downloading all Gmail attachments at once, which walks through the methods that exist for that — including manual and dedicated tools — and is upfront about each one's trade-offs.
Narrow the list to exactly what you need
Stack operators to build a precise attachment list before exporting:
| Goal | Search |
|---|---|
| Invoices with PDFs this year | invoice filename:pdf after:2026/01/01 |
| Big attachments to clean up | has:attachment larger:10M |
| Files from one client | from:maria@acme.com has:attachment |
| Spreadsheets only | filename:xlsx OR filename:csv |
| Received files, not sent | has:attachment -in:sent |
This is the same view-based approach behind exporting Gmail search results — the search defines the file.
What an attachment index is good for
Finding storage hogs
Pair has:attachment with larger:10M, export, and sort by date. You instantly see the biggest attachment emails — the ones worth deleting or archiving to reclaim Google storage.
Auditing what was sent
For a project or a client, an export of from:them has:attachment OR to:them has:attachment documents every file that changed hands, with dates. That's a useful record on its own, before you download anything.
Planning a download
Use the list to decide which files you actually need, then download just those rather than everything — saving time and disk space.
Tips for clean attachment exports
- Use
filename:to target one document type instead of grabbing every attachment. - Add a size filter when the goal is freeing up storage.
- Let big searches load fully before exporting so no messages are skipped.
- Keep the list as your index even after downloading files, so you have a record of what came from where.
What has:attachment actually counts
It's worth knowing exactly what Gmail treats as an attachment, because it affects your list. has:attachment matches emails with genuine attached files — PDFs, images you've attached, documents, spreadsheets, ZIPs. It generally ignores inline content like signature logos and tracking pixels, which is what you want: the list reflects real files, not every email that happens to contain an image.
Two refinements help when the plain operator is too broad or too narrow:
filename:targets a type.filename:pdf,filename:docxorfilename:ziplimit the list to one kind of file — far more useful than "anything attached" when you're after, say, signed contracts.- Drive links aren't attachments. Files shared as Google Drive links inside an email are not caught by
has:attachment, since nothing is actually attached. Search the email text fordrive.google.comif you also need those.
Use an attachment export to audit storage
A surprising amount of Gmail's storage is consumed by a handful of large-attachment emails. An export is the fastest way to find them. Search has:attachment larger:10M, export to CSV, and sort by date — the biggest offenders surface immediately. From there you can decide what to archive or delete to reclaim space, working from a clear list instead of guessing.
The same export doubles as a record before you clean up. Keep the CSV, then delete the heavy emails knowing you still have an index of what existed and when. If you'd rather preserve the actual files first, the routes for that are in downloading all Gmail attachments at once, and a full safety net is covered in backing up your Gmail inbox. Listing first, then acting, turns a vague "my Gmail is full" into a precise, reversible cleanup.
Frequently asked questions
How do I find and export all Gmail emails with attachments?
Search has:attachment so only those emails show, then export the view to CSV with a browser extension. One row per attachment-bearing email.
Does exporting the list also download the files?
No — it exports the list (metadata), not the files. To get the actual files, download them from the emails or use a dedicated bulk method. Bulk attachment download is planned.
Can I export only emails with PDFs?
Yes. Search filename:pdf (or xlsx, jpg, etc.). Combine with dates or senders to narrow further.
Can I filter attachments by size?
Yes. Use larger:10M or smaller:1M, e.g. has:attachment larger:5M to find big files.
Why export a list of emails with attachments?
It's an index — for finding large messages, auditing what documents were exchanged, or planning which files to download. It's sortable by date and sender.
Is exporting the list private?
Yes. A local extension reads on-screen emails in your browser and writes the CSV locally — nothing is uploaded.