Skip to content
Utility

PSTInsight

Fast, modern viewer and exporter for Outlook PST files. Ground-up Rust rewrite built with Tauri, React, and TypeScript, using a read-only parser so Outlook, MAPI, and COM are not required.

RustTypeScriptTauri

A PST file is a sealed box unless you have Outlook installed and a profile set up to mount it. PSTInsight reads the format directly — no Outlook, no MAPI, no COM — so you can open an archive PST on a machine that’s never seen Outlook, browse the folder tree, read the mail, and pull messages or attachments out as EML, TXT or MSG. The current repository is a ground-up Rust rewrite of the original C#/WPF version, built with Tauri and a React/TypeScript front end. Read-only: it never modifies the source file.

What it does

  • Opens Unicode PST files in a three-pane desktop UI.
  • Shows folder tree with content and unread counts.
  • Uses a virtualized message list so large folders stay responsive.
  • Shows sender, recipients, dates, and message body in a reading pane.
  • Sanitizes HTML mail and renders it in a sandboxed iframe.
  • Blocks remote images by default, with an opt-in load button.
  • Saves by-value attachments to disk.
  • Saves embedded messages as .eml.
  • Exports single messages or folders to EML, TXT, or MSG.
  • Searches by subject/sender and optionally message body.
  • Never modifies the source PST.

Requirements

  • Windows, macOS, or Linux where the Tauri build is available.
  • Read access to the PST file.
  • Unicode PST file. ANSI Outlook 97-2002 PST files are not supported.
  • Node.js and Rust only if building from source.

Install

Download the latest release from:

https://github.com/Swatto86/PSTInsight/releases

Open the app, then choose a PST file.

Basic workflow

  1. Open PSTInsight.
  2. Select a .pst file.
  3. Browse folders in the tree.
  4. Select a folder to populate the message list.
  5. Click a message to preview it.
  6. Save attachments or export messages as needed.

Export formats

FormatUse
EMLPortable single-message export for most mail tools
TXTPlain-text review or evidence capture
MSGOutlook-compatible message file using MS-OXMSG compound format

Folder export is useful when extracting a case, project, or archive subset.

HTML safety

Email HTML is treated as untrusted:

  • sanitized before rendering
  • placed in a sandboxed iframe
  • protected with a per-frame CSP
  • remote images blocked by default

This avoids the common “open old email, load trackers and remote images” problem.

Architecture

PSTInsight is split into:

  • pst-parse: pure Rust read-only PST parser
  • Tauri backend: state, commands, export, MSG writer
  • React/TypeScript UI: folder tree, message list, preview, typed IPC client

Parsing runs on blocking worker threads so large PST files do not stall the UI.

Build from source

git clone https://github.com/Swatto86/PSTInsight.git
cd pstinsight
npm install
npm run tauri dev

Build:

npm run tauri build

Run Rust quality checks:

cargo clippy --all-targets -- -D warnings
cargo test

Limitations

  • ANSI PST files are rejected with a clear error.
  • Cyclic-encrypted blocks are unsupported.
  • PSTInsight is read-only and does not edit the PST.
  • MSG export covers standard message, recipient, and attachment properties.

Troubleshooting

PST will not open

Confirm it is a Unicode PST and not an older ANSI PST. Also check that the file is not still locked by Outlook.

Body search is slow

Body search must inspect more message data than subject/sender search. Use sender, subject, or folder filters first when possible.

Remote images do not show

This is by design. Use the explicit load-images control only for mail you trust.

  • GitHub: https://github.com/Swatto86/PSTInsight
  • Releases: https://github.com/Swatto86/PSTInsight/releases
← All tools