How to Extract Attachments from PST files - A Complete Guide


This guide shows how to extract attachments from PST files using Outlook for small jobs, VBA automation for folder-level runs, or a dedicated extractor for large PSTs. It covers how to extract all attachments from Outlook PST, bulk export attachments, and save attachments from an entire PST or folder.

Quick Answer (2026)

  • Few emails: open the message and use Save All Attachments.
  • Whole folder or entire PST: Outlook has no one-click bulk export, so use VBA or a PST attachment extractor.
  • New Outlook: PST access depends on Classic Outlook installed (same 32-bit/64-bit).

Before you start (important)

Classic vs New Outlook: PST workflows are most reliable in Classic Outlook. Open a PST via File -> Open & Export -> Open Outlook Data File. In New Outlook, PST access depends on Classic Outlook installed on the same PC (matching 32-bit/64-bit). In New Outlook, email in PST is accessible, but calendar and contacts stored in PST are not available yet.

Source:Open and find items in an Outlook Data File (.pst) | Feature comparison between new Outlook and classic Outlook

  • Work on a copy of the PST file, not the original.
  • Use a local output folder (avoid OneDrive or synced paths).
  • For VBA/manual methods, keep Outlook open; for tool-based extraction, close Outlook to avoid locks.
  • Ensure enough free disk space for the extracted files.

What Outlook can and cannot do for bulk extraction

Outlook’s Save All Attachments works per email only. It does not export every attachment from an entire PST or folder in one click. For folder-wide or PST-wide extraction, use VBA automation or an attachment extractor tool.

Method comparison (fast decision)

MethodBest forOutlook required?Notes
Manual (Save All Attachments)Few emailsYes (Classic Outlook)One email at a time
Outlook VBA automationSingle folder or smaller PSTYes (Classic Outlook)Requires macros; run per folder
SysCurve PST Attachment ExtractorLarge PSTs (one at a time)Yes (Outlook installed)One PST per run; preview + select folders; maintain hierarchy or consolidate

Method 1: Save attachments manually in Outlook

This works for a small number of messages.

  1. Open Outlook and select the email with attachments.
  2. Choose Save All Attachments.
  3. Select a destination folder and click Save.

Tip: Use Outlook search hasattachment:yes to find emails with attachments. Some builds also accept hasattachments:yes. You can also click Has Attachments in Outlook’s Filter Email options (it inserts hasattachments:yes in some builds).

Method 2: Bulk extract attachments with Outlook VBA (Classic Outlook)

This method automates attachment saving for a selected folder. It is best for Classic Outlook users comfortable with basic scripting. Prerequisite: enable macros temporarily via File -> Options -> Trust Center -> Trust Center Settings -> Macro Settings.

  1. Open the PST in Classic Outlook first (File -> Open & Export -> Open Outlook Data File).
  2. Open Outlook (Classic) if it is not already running.
  3. Press Alt + F11 to open the VBA editor.
  4. Go to Insert -> Module and paste the script below.
  5. Update the savePath value to a local folder.
  6. Run the macro and pick the Outlook folder to process.
__PREBLOCK_0__

Notes: Keep Outlook open during the run. If a folder contains non-mail items, add error handling or restrict to MailItem. If you want subfolders, run the macro per folder or extend it to recurse.

Error handling tip: If one attachment fails, add basic error handling around att.SaveAsFile to skip the failed item:

__PREBLOCK_0__

Warning: The 260 Character Limit

  • Windows cannot save files if the total path length (folder + subfolder + filename) exceeds 260 characters.
  • VBA risk: the script can stop working if it hits a deep folder.
  • Fix: set savePath to a short root folder like C:\Attach\.
  • SysCurve advantage: handles deep paths automatically without crashing.

Optional (subfolders): Use this recursive version to process all subfolders. It creates a subfolder per Outlook folder name.

__PREBLOCK_0__

Method 3: Use SysCurve PST Attachment Extractor (large PSTs)

This is the fastest option for large PST files when you want preview and structure controls. It processes one PST at a time.


Instant Solution - SysCurve PST Attachment Extractor Tool

Quickly extract attachments from Outlook PST files.


  • Preview emails and select folders before extraction.
  • Extracts all attachment types, including inline items.
  • Maintain folder hierarchy or consolidate into one folder.
  • Read-only extraction; originals remain in the PST.

Note: Folder selection is the only filter; all attachment types are extracted.

  1. Install and open SysCurve PST Attachment Extractor.
  2. Add the PST file you want to process and preview the mailbox.
  3. Select the output folder and choose Maintain Folder Hierarchy or Consolidate.
  4. Click Extract to start.

Requirement: Microsoft Outlook (Classic) must be installed. Outlook does not need to be open during extraction.

Designed for Stability: The tool processes one PST at a time to prevent memory overflows and crashes, ensuring 100% extraction accuracy even for 15GB+ files.

Extract attachments by type, size, and date (avoid duplicates)

  • Use Outlook search to target messages before exporting: hasattachment:yes.
  • Try attachment filters like hasattachment:yes attachments:pdf or hasattachment:yes attachments:.pdf.
  • Example: hasattachment:yes attachments:invoice.pdf.
  • attachments: searches attachment names/content; attachments:.pdf usually works best because it targets the filename.
  • If ext: does not work in your Outlook build, use attachments: instead.
  • Some builds also accept hasattachments:yes.
  • For date or size filtering, sort or filter the Outlook folder first, then run Save All or VBA.
  • With tools, select the folders you need and choose Maintain Folder Hierarchy or Consolidate.
  • Prevent overwrites by saving to per-folder paths or using auto-rename (counter or date prefix).

Performance tips for large PSTs

  • Run one folder at a time for predictable results.
  • Keep Outlook open and avoid clicking during macro runs.
  • Save to a short local path (for example, D:\PST_Attachments\) to avoid path-length errors.
  • Close other Outlook windows and disable previewing large attachments while the macro runs.
  • Expect large folders to take time, especially on slower disks.

Common problems and fixes

  • Cannot create file / path too long / duplicate name: shorten the output path and enable auto-rename to avoid overwrites.
  • Blocked attachment types: Outlook can block certain extensions (for example, .exe, .bat, .js). If Outlook blocks it, you often can’t save it from Outlook at all. Ask the sender to ZIP the file or share it via OneDrive/SharePoint.
  • Inline images missing: inline content is embedded in the message; use a tool that extracts inline attachments.
  • winmail.dat (TNEF): decode the file or ask the sender to use HTML or Plain Text.
  • Password-protected PST: open the PST in Outlook with the password before extracting.
  • Large PST performance: run per folder, keep Outlook responsive, and allow time for indexing.

Source:Blocked attachments in Outlook

Frequently Asked Questions

Can I extract all attachments from a PST at once?

Outlook has no one-click export for an entire PST. Use VBA for a folder or a dedicated extractor for full PST runs.

Can I extract attachments without Outlook installed?

For the Outlook/VBA methods, yes, Classic Outlook is required. For third-party tools, it depends on the tool. SysCurve requires Outlook installed.

Does new Outlook support PST attachment extraction?

PST access in new Outlook depends on Classic Outlook installed (same 32-bit/64-bit). Extraction is most reliable in Classic Outlook.

How do I extract only PDF or ZIP attachments?

Use Outlook search like hasattachment:yes attachments:pdf or hasattachment:yes attachments:.pdf. attachments: searches attachment names/content; attachments:.pdf usually works best because it targets the filename. If ext: works in your Outlook build, you can use it; otherwise use attachments:. Some builds also accept hasattachments:yes.

How do I prevent duplicate attachments from overwriting?

Use auto-rename (counter or date) or save to per-folder paths to avoid overwriting files.

Does SysCurve process one PST at a time?

Yes. Load one PST per run and use folder selection to limit the scope.

Does it extract inline attachments?

Yes. The extractor saves standard and inline attachments so embedded images are not missed.

Will extraction delete attachments from the PST?

No. Extraction saves copies of attachments; originals remain in the PST.

What about password-protected PST files?

Open the PST with the password in Outlook before extracting, or provide the password when prompted.

Sources (Microsoft)

The Final Word

Manual Save All Attachments is fine for a few emails, but it does not scale. For folder-level extraction use VBA, and for large PSTs use a dedicated extractor to keep structure and avoid duplicates.

The Author

Deepak Singh Bisht

Deepak Singh Bisht

Content Lead |

Deepak is a dedicated IT professional with over 11 years of experience and a key member at SysCurve Software for the last 6 years. His expertise lies in email migration and data recovery, with a focus on technologies like MS Outlook and Office 365. He also works with SQL Server backup and recovery workflows and DBCC diagnostics in Windows environments. Deepak, who also delves into front-end technology and software development, holds a Bachelor's degree in Computer Applications.

More from this author