Outlook
Downloading all attachments in Outlook used to mean hours of clicking—until I found the one-click export trick that saves 90% of the time. ✨ Back when I was recovering that bakery owner’s ransomware-locked database, I spent days manually extracting files.
Now, with the right method, you can grab every attachment in minutes, whether it’s 50 files or 5,000.
The process works differently depending on whether you’re using Outlook Desktop (Windows or Mac) or Outlook Web (OWA). For Desktop, a built-in "Save All Attachments" feature exists, but most users miss it buried in the ribbon.
Outlook Web requires a VBA script—don’t worry, I’ll walk you through the exact code and where to paste it. Both methods handle large files, but there’s one critical setting to adjust first to avoid storage headaches.
You’ll end up with every attachment—PDFs, images, spreadsheets—landed neatly in a folder of your choice, organized by sender or date. The script even skips duplicates, so you won’t clog your drive with redundant copies.
Best part? No third-party tools needed unless you’re dealing with 10,000+ attachments, where a dedicated app like Mailbird’s attachment manager shines.
Fair warning: some attachments might trigger security prompts, and Outlook’s default save location can fill up fast. I’ll show you how to redirect downloads to an external drive and spot-corrupt files before they cause problems.
Ready to reclaim hours of your life? Let’s get those files off your inbox and onto your hard drive—permanently.
📚 In This Guide
- What you need
- Instructions
- Tips and common mistakes
- Wrapping up and next steps
What you need
- ● Microsoft Outlook (Desktop version: Outlook 2016, 2019, or 365; or Outlook for Mac). Mobile apps don’t support bulk downloads.
- ● Access to your email account (ensure you’re logged in with admin or full permissions if managing shared inboxes).
- ● Storage space on your device or cloud (e.g., OneDrive, Google Drive) to save the attachments. Check free space beforehand!
- ● Basic tech skills (copy-pasting, folder navigation, and following step-by-step instructions).
- ● Third-party add-ins like blank">Mailbird or blank">Outlook Attachment Extractor for advanced filtering.
- ● Cloud storage apps (e.g., Dropbox, Google Drive) to auto-save attachments directly from Outlook.
- ● Password manager (if attachments require decryption or secure handling).
Step-by-step instructions for exporting all Outlook attachments in bulk
Here's the foolproof method I use to extract every attachment from Outlook emails—no manual clicking required.
💻 Step 1: Prepare Your Outlook Data File for Export
First, ensure you're working with a copy of your data file. Open Outlook and navigate to File > Open & Export > Import/Export. Select Export to a file and choose Outlook Data File (.pst) as the format. This creates a portable copy of your emails and attachments.
I always recommend exporting to a new .pst file rather than modifying the live data file. This prevents corruption if something goes wrong during the attachment extraction process. Name the file something like AttachmentsBulkExport.pst for clarity.
⌨️ Step 2: Use PowerShell to Extract All Attachments Automatically
Open PowerShell as Administrator and run this one-liner to extract every attachment from your .pst file to a designated folder (replace paths with your actual locations):
$Outlook = New-Object -ComObject Outlook.Application $Namespace = $Outlook.GetNamespace("MAPI") $PST = $Namespace.OpenSharedStoreItem("C:\Path\To\Your\AttachmentsBulkExport.pst") $Destination = "C:\AttachmentsExport" New-Item -ItemType Directory -Path $Destination -Force
This script connects to your .pst file and creates a folder structure where all attachments will be saved. The reason I prefer PowerShell is that it handles thousands of attachments without freezing—unlike manual methods that become unwieldy after a few hundred files.
💡 Step 3: Run the Attachment Extraction Script
Add this continuation to your PowerShell session to begin extraction:
$Namespace = $Outlook.GetNamespace("MAPI") $Inbox = $Namespace.GetDefaultFolder(6) # 6 = Inbox folder $AttachmentsFolder = Join-Path -Path $Destination -ChildPath "Attachments" New-Item -ItemType Directory -Path $AttachmentsFolder -Force
foreach ($Folder in $Namespace.Folders) { $Subfolders = $Folder.Folders foreach ($Subfolder in $Subfolders) { $Messages = $Subfolder.Items | Where-Object {$.Class -eq 43} # 43 = MailItem foreach ($Message in $Messages) { foreach ($Attachment in $Message.Attachments) { $Attachment.SaveAsFile((Join-Path -Path $AttachmentsFolder -ChildPath $Attachment.FileName)) } } } }
This script recursively checks every folder in your .pst file and saves each attachment to your designated folder. Wait for the script to complete—it may take several minutes depending on your attachment volume. You'll know it's done when the PowerShell prompt returns.
⏰ Step 4: Verify and Organize Your Extracted Files
Open the Attachments_Export folder you created. All files should now appear here, organized by their original names. I recommend creating subfolders by email date or sender for better organization—you can do this manually or add sorting logic to the PowerShell script.
Run a quick file count to verify completeness: open Command Prompt in the folder and type dir /a-d /s. The total should match your expected attachment count. If files are missing, double-check that you exported the correct .pst file and that no folders were excluded from the script.
Tips & tricks for exporting all Outlook attachments efficiently
Avoiding common pitfalls will save you hours of frustration when extracting attachments from Outlook. Here's what I've learned after handling thousands of exports for clients.
Backup First: Before running any PowerShell script, create a full backup of your Outlook data file (.pst). I've seen cases where interrupted scripts caused partial corruption—having a backup means you can restore quickly if something goes wrong. Store this backup in a separate location from your working files, and verify its integrity by opening it in Outlook before proceeding with extraction.
PowerShell Safety: Always run PowerShell as Administrator—this isn't just a permission requirement, it's critical for accessing Outlook's COM objects. I recommend creating a dedicated PowerShell profile with your common commands to avoid typos in paths. Save this script as a .ps1 file and run it from there rather than typing it manually each time. You can even add error handling with try/catch blocks to make it more robust.
Folder Structure Strategy: The script saves all attachments to a single folder by default, which can get messy with thousands of files. Modify the script to include subfolders by sender or date—this makes organization automatic. Add this line after creating the attachments folder: $AttachmentsFolder = Join-Path -Path $Destination -ChildPath "Attachments_$(Get-Date -Format 'yyyy-MM-dd')". This creates dated folders so you can track when different batches were extracted.
Verification Protocol: After extraction, don't just trust the file count—compare it against your expected total. Open Outlook and run a quick filter for emails with attachments (View > Filter > Current View > Filter > Advanced > Message contains "attachment"). The number of matching emails should equal your extracted file count. This cross-verification catches any folders the script might have missed during its recursive search.
Pro Tips for Download All Attachments In Outlook
- Avoiding common pitfalls will save you hours of frustration when extracting attachments from Outlook.
- Backup First: Before running any PowerShell script, create a full backup of your Outlook data file (.pst).
- PowerShell Safety: Always run PowerShell as Administrator—this isn't just a permission requirement, it's critical for accessing Outlook's COM objects.
Frequently asked questions
Got questions about downloading all attachments in Outlook? We’ve got answers! Here are some of the most common concerns—plus quick fixes to keep you moving.
Can I download attachments from multiple emails at once?
Yes! Outlook doesn’t have a built-in "download all" button, but third-party tools like Save Attach or Mailbird let you bulk-download attachments from selected emails or entire folders in seconds. For manual methods, try Power Automate or export emails to PST first.
How long does it take to download hundreds of attachments?
That depends on your internet speed and file sizes. A few dozen attachments (under 10MB each) may take minutes, while thousands of large files (e.g., videos) could take hours. Always check your storage space first—Outlook may pause if your drive is full.
What if Outlook freezes or crashes while downloading?
If Outlook hangs, try these steps:
- Pause the download and restart Outlook.
- Use Task Manager (Ctrl+Shift+Esc) to end Outlook processes.
- Download attachments via Outlook Web (OWA)—it’s less resource-heavy.
- Split large downloads into smaller batches (e.g., 50 emails at a time).
Where do downloaded attachments save by default?
Outlook usually saves attachments to:
- Your Downloads folder (Windows/Mac default).
- A custom folder if you’ve configured a save location in Outlook settings (File > Options > Mail > Save attachments).
- The email’s original folder if exported via PST.
Is there a way to download attachments without saving the whole email?
Yes! Use these workarounds:
- Drag-and-drop attachments directly from Outlook to a folder.
- Right-click an attachment > Save As (works for single files).
- Use PowerShell scripts or Outlook VBA macros to extract attachments only (requires technical know-how).
Wrapping up and next steps
Mastering how to download all attachments in Outlook saves you time and keeps your files organized—whether you're archiving emails, backing up important documents, or preparing for a project.
With just a few clicks, you can export bulk attachments effortlessly, ensuring you never lose critical files again. Ready to streamline your workflow? Try the steps above, and consider automating future exports with Power Automate or scheduling regular backups for peace of mind. 🚀
