Shubham Dixit, email forensics and data file expert

Written by Jennifer Walsh. Reviewed for technical accuracy by Shubham Dixit, Independent Expert in Email Forensics and Data File Conversion.

Shubham is an independent external reviewer and not an employee of PCDOTS.

Quick answer. Extracting email addresses from Outlook means one of two things. For your contacts, a free CSV export does it cleanly. For the addresses inside your mail, exporting the inbox gives a messy dump you must dedupe, a macro pulls them properly, and a tool reads the whole PST, even a crashed one, and returns a deduped list.

Which addresses do you mean?

Extract email addresses from Outlook sounds like one job, but it is really two, and picking the wrong route is what leaves people with a mess. There are two very different places addresses live in Outlook. One is your Contacts, the address book you have built up. The other is the mail itself, the from and to addresses on the thousands of messages sitting in your folders, and sometimes addresses written inside the message bodies too.

If you want your address book, there is a clean free export for that. If you want the addresses of everyone who has emailed you, or everyone in a particular folder, that is a different task, because those addresses are scattered across messages and full of duplicates. Sort out which one you are after and the rest is straightforward.

Addresses sit in three different places. Each needs a different pull. Contactsthe address book Message headersFrom:To:Cc: Message bodiesaddresses in the text

Your address book exports cleanly. The mail needs gathering and deduping.

Extract your contacts to CSV, free

If it is your address book you want, Outlook exports it to a clean CSV for free, no extra software needed.

Step 1. In Outlook, go to File, then Open and Export, then Import/Export.

Step 2. Choose Export to a file, then Comma Separated Values.

Step 3. Select the Contacts folder, not the Inbox, since Contacts is what holds tidy address records.

Step 4. Browse to a destination, click Finish, and open the CSV. Each contact is a row, with the email address in its own column.

This is the right route for a real address list, because Contacts stores one clean record per person. The catch is that it only covers people you have actually saved as contacts, not everyone who has ever emailed you.

Extract addresses from your mail

Wanting the addresses from your mail itself, every sender in a folder, is the harder and more common request, and it is where the usual advice goes wrong. You will be told to run the same Import and Export wizard but pick the Inbox instead of Contacts. You can, but be clear about what you get. Exporting a mail folder to CSV produces one row per message, with columns for the subject, the body and the from and to addresses. It is a dump of your emails, not an address list, so the same address appears dozens of times and you have to open it in Excel and dedupe the address column yourself.

For a small folder that is workable. For a busy mailbox it is painful, and it still misses any addresses that were typed inside message bodies. That is why the two cleaner routes below exist.

The macro route for a clean list

If you are comfortable with a little code, a short VBA macro inside Outlook can walk through a folder, pull the sender and recipient address off every message, drop them into a list that ignores duplicates, and write the result to a text file. It is free, it runs entirely on your own machine, and it gives you the deduplicated list the CSV export does not.

One honest catch worth knowing. For messages from inside your own organisation on Exchange, the sender address a naive macro reads is often an internal directory address that looks like /O=EXCHANGE/OU=… rather than a normal name at domain address. To get the real SMTP address you resolve it through the Exchange user, which is a couple of extra lines. For plain internet mail the address comes through clean. It is the neatest free route for the whole mailbox, as long as that quirk does not trip you up.

Extract from a whole PST with a tool

When there are many folders to cover, when you want addresses pulled from message bodies as well as headers, or when Outlook will not even open because the profile is corrupt, a dedicated tool is the calmer path. It reads the PST or OST file directly, so it does not need a working Outlook at all. The PCDOTS PST Converter loads the mailbox, extracts the email addresses from every folder at once, from the headers and the bodies, removes duplicates, and saves the result. It works on a healthy profile and on a crashed one where the PST is all you have left, and it can filter by sender, recipient, subject, body or header so you gather only what you need. There is a free demo version to try on your own file first.

iA message dump is full of duplicates. A real extraction is deduped. Inbox to CSV [email protected] [email protected] [email protected] [email protected] [email protected] dedupe Clean list [email protected] [email protected] [email protected] one each,no repeats

The goal is the tidy list on the right, not the repeating dump on the left.

“The thing people underestimate is that an address sits in several places, the contact card, the message header and sometimes the body text, and each is stored differently. A clean extraction has to reach all of them and then reduce it to one real address per person, in proper SMTP form. The classic trap is the internal Exchange address, which is a directory reference, not a mailbox address, so a rushed export hands you something that looks like an address but will not deliver. Get it into deduplicated SMTP form and the list is actually usable.” Shubham Dixit, Email Forensics reviewer (draft, pending approval)

1Add PSTLoad themailbox 2ExtractClick theExtract button 3AddressesChoose emailaddresses 4SaveSet a folder,run it iAll folders, headers and bodies, deduplicated, even from a crashed PST.

The whole-mailbox route, deduped in a single run.

Here are the steps with the screens.

Step 1. Install and run the tool on your Windows PC, then click the Open menu.

Run the Outlook email address extractor

Step 2. Choose Email Data Files, then Outlook OST or PST files, and load your mailbox.

Load the Outlook PST or OST file

Step 3. Preview the mail, then click the Extract button.

Click the Extract button

Step 4. Choose Email Addresses, pick a destination and Save. The tool writes a deduplicated list.

Choose Email Addresses to extract and save

If you need the mail itself rather than just the addresses, a free PST file viewer opens the mailbox to browse, and there are guides to extract email addresses from Gmail and to extract email addresses from a PDF for the same job in other places.

Free Download
Buy Now

What a clean extraction gives you

However you do it, aim for a result that is actually usable rather than just present. Three things separate a good list from a rough one. It should be deduplicated, one entry per person rather than one per message. The addresses should be in real SMTP form, the ordinary name at domain kind, not internal directory references that will bounce. And it should cover the folders you care about, since sent items and archives hold addresses your inbox never saw. Check those three and the list will do its job, whether that is a migration, a backup or importing people you know into another system.

The methods compared

Match the route to which addresses you are after.

Method Best for Good to know
Contacts to CSV Your address book, free Clean, but only saved contacts
VBA macro A whole folder, free Deduped, watch the Exchange address
PST extractor Whole mailbox or crashed PST All folders, bodies too, deduped

Frequently asked questions

How do I extract email addresses from Outlook?
For your contacts, use File then Open and Export then Import/Export, and export the Contacts folder to CSV. For the addresses inside your mail, use a VBA macro or a tool that reads the PST and returns a deduplicated list.

Can I extract email addresses from Outlook for free?
Yes. Exporting Contacts to CSV is free and built in, and a free VBA macro can pull and dedupe the addresses from a mail folder. A tool is for a whole mailbox, message bodies, or a crashed profile.

Why does exporting my Inbox to CSV not give a clean address list?
Because it exports the messages, one row each, not the addresses. The same address repeats on every email, so you have to open the CSV in Excel and dedupe the address column yourself.

Can I extract addresses if Outlook will not open?
Yes, if you have the PST or OST file. A tool that reads the file directly can extract the addresses without a working Outlook, which is the usual answer for a corrupt profile.

Why do some addresses look like /O=EXCHANGE/OU=… ?
That is an internal Exchange directory address, not a deliverable one. It happens with mail from inside your own organisation, and it needs resolving to the real SMTP address before the list is usable.

Can I extract addresses from all my folders at once?
A macro can be pointed at each folder, and a PST extractor covers every folder in one run, including sent items and archives that hold addresses your inbox never saw.

Know which addresses you mean

The whole task gets easy the moment you separate the two jobs. If you want your address book, export Contacts to CSV and you are done in a minute, for free. If you want the addresses from your mail, skip the inbox dump and reach for a macro on a single folder, or a PST extractor when it is the whole mailbox, message bodies, or a profile that will not open. Whichever you pick, judge the result on one thing, a deduplicated list of real addresses, and you will have something you can actually use.

Shubham Dixit

Reviewed by Shubham Dixit

Independent Expert in Email Forensics and Data File Conversion. Shubham reviewed this guide for technical accuracy. He is an independent external reviewer and not an employee of PCDOTS.

Profile  |  LinkedIn