How to Extract Emails from Outlook Messages and Files
Get addresses out of Outlook message windows, saved MSG files and copied threads — save or copy first, then extract privately in-browser.
By the Email Extractor Team · Published Sep 27, 2026
Outlook keeps addresses in three awkward places: the message header (often truncated with “…”), the saved .msg file (a proprietary OLE container), and the copied thread (full of mailto: links and meeting furniture). None of them paste cleanly on the first try. Here is the order that works.
1. Copy or save the source — don’t retype anything
For one or two messages, double-click to open the message in its own window, press Ctrl/Cmd+A, copy, and paste into the Email Extractor. Opening matters: the reading pane truncates long To/CC lines, while the full window exposes them. For folders, use File → Save As → Text (or drag messages to a desktop folder to get .msg files) — the extractor performs a best-effort string scan over .msg content locally, pulling addresses from headers and bodies without uploading.
Corporate mailboxes behind Exchange or M365 policies may block Save As. In that case copy the thread text plus the expanded header (click the To/CC field to unfold it) and paste that. Retyping is the worst option: rnicrosoft.com versus microsoft.com typos survive every downstream check except a bounce.
2. Extract and decode the Outlook wrappers
Press Extract Emails with lower-casing and dedupe on. Outlook wraps addresses three ways the engine handles automatically: mailto: prefixes from copied links, angle-bracket display forms ("Jane Smith" <[email protected]>), and trailing semicolons — Outlook’s own separator — glued onto the last address in every CC line. Obfuscation decoding can stay off for genuine Outlook mail; turn it on only when threads contain forwarded [at]-style text from web sources.
Check occurrence counts. A thread with 12 replies shows the same five people 12 times; the frequency column separates participants from one-off CCs. Your own address and the room-mailbox ([email protected]) will top the list — filter your own domain out before analyzing.
3. Clean for the destination (usually Outlook itself)
Ironic but common: the list goes back into Outlook as a distribution or a semicolon-separated To line. Run the haul through the Email Cleaner to strip mailto:, brackets and trailing semicolons, collapse repeats in the Email Deduplicator, and flag role/disposable accounts in the Email Validator per the hygiene workflow. Then render with the Email Formatter using semicolons — Outlook’s native separator — or read the Gmail vs. Outlook formatting guide before pasting back.
Standing rule as always: the fact that an address sat in your inbox does not grant consent to add it to a campaign. Internal threads stay internal; external outreach needs its own basis — see the compliance guide.
Common mistakes that cost you addresses (or create junk)
Copying from the reading pane is the classic failure. Truncated headers (“Smith, Jane; Doe, Jo…”) paste as display names with no addresses at all, and the extractor correctly finds nothing — because nothing was there. Always expand the header or open the message fully first.
Second, saving as .msg and expecting perfect parsing. The local scan is best-effort: bodies and headers extract well, but embedded attachments, voting buttons and rights-managed content may not. When a .msg yields nothing, fall back to Save As Text or copy-paste from the open window rather than assuming the addresses don’t exist.
Third, keeping meeting furniture. Room mailboxes, no-reply@ notifications, calendar organizer@ lines and out-of-office loops inflate Outlook hauls. They extract correctly and still don’t belong in a contact list — sort the CSV by occurrence count and delete the infrastructure rows.
Finally, pasting back into Outlook with commas. Outlook tolerates commas but prefers semicolons; a comma-joined list pasted into To can merge or drop recipients silently. Format semicolon-separated for Outlook, comma-separated for Gmail — never assume one separator fits both.
Pro tips for larger / messier mailboxes
Process folder-by-folder, not mailbox-by-mailbox: one saved-text export per project folder, extracted separately, merged in the deduplicator. Per-folder provenance tells you which project each contact came from months later. For recurring triage (weekly vendor threads), clean once at intake with the Email Cleaner so the archive stays deduplicated by construction.
Pair with the Domain Extractor for vendor mapping: the ranked domain table shows which suppliers dominate a shared inbox, and registrable grouping folds mail.vendor.com into vendor.com honestly.
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Pasted header yields names but no addresses | Reading-pane truncation cut the addresses off | Open the message in its own window, expand To/CC fully, then re-copy |
| Saved .msg produces few or no addresses | Best-effort scan can’t reach embedded or rights-managed parts | Use File → Save As → Text, or copy from the open message window instead |
| CC line pastes as one glued string | Outlook joins with semicolons and no line breaks | Paste as-is — the extractor splits on semicolons — then format the output with the formatter |
| Pasted-back list drops recipients in Outlook | Comma separators where Outlook expects semicolons | Re-render with the formatter’s semicolon preset before pasting into To/CC |
FAQ
Can I drop a PST or OST file directly into the extractor?
No. PST/OST are proprietary mailbox databases the browser cannot parse — and uploading them anywhere would be a privacy disaster. Export the messages you need (Save As Text, drag-to-MSG, or copy-paste) and extract from those. Scope the export to the folder or thread you actually need rather than the whole mailbox.
Why do .msg files sometimes extract perfectly and sometimes not?
Plain messages with standard headers and bodies scan cleanly; messages with embedded objects, voting metadata or rights management may keep addresses in parts the string scan can’t reach. Treat MSG as a convenience path with a text-save fallback, not a guarantee.
How do I get a semicolon-separated list back into Outlook?
Clean and dedupe first, then use the Email Formatter with the semicolon separator (or the grouped-batch preset behind recipient caps). Paste into To/CC and confirm the recipient count matches the workspace summary before sending.
Does the extractor connect to Exchange or Microsoft 365?
Never. There is no account connection and no server call carrying your mail — verify in DevTools. Everything you paste or drop is parsed in a local Web Worker.
What to do next
Normalize with the Email Cleaner, check risk signals in the Email Validator, and map vendor mix with the Domain Extractor. For process background, read Extract Emails from Any Text and Format a List for Gmail vs. Outlook.
Last reviewed: Sep 27, 2026 · About our testing
Put it into practice
Run today's steps yourself — free, private, no signup.
Open the Email Extractor →