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.
On this page
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.
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.
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)
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.

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

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

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

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.
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.