
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
A comprehensive Node.js application to convert, extract, and manage Microsoft Outlook OST files with UTF-8 support

Complete OST/PST Management Toolkit
Convert, extract, and manage Microsoft Outlook OST files with ease
Created by SkyLostTR (@Keeftraum)
Version 2.1.0 - A unified Node.js application for converting, extracting, and managing Microsoft Outlook OST and PST files with UTF-8 support.
# Install globally from npm
npm install -g ost2go
# Verify installation
ost2go --version
Download pre-built binaries from Releases:
ost2go-win.exeost2go-linuxost2go-macos# Windows
.\ost2go-win.exe --version
# Linux/macOS
chmod +x ost2go-linux
./ost2go-linux --version
# Clone repository
git clone https://github.com/SkyLostTR/OST2GO.git
cd OST2GO
# Install dependencies
npm install
# Install globally
npm install -g .
# Configure registry
echo "@skylosttr:registry=https://npm.pkg.github.com" >> .npmrc
# Install
npm install -g @skylosttr/ost2go
All functionality is now accessible through a single ost2go command with intuitive subcommands:
ost2go convert - Convert OST to PST (real & legacy modes)ost2go extract - Extract emails to EML, MBOX, and JSONost2go validate - Validate PST file integrityost2go info - Display file informationnpm install -g .
ost2go --help
Problem: Previous versions created PST files that crashed Outlook and Thunderbird during import.
Root Cause: The original implementation was too simplistic and didn't properly handle:
Solution: Completely rewritten converter with:
This is an educational/research proof-of-concept with MAJOR limitations:
OST files use proprietary Microsoft Exchange-locked database structures that are fundamentally different from PST format. True conversion requires:
Our tool currently only:
Microsoft Outlook Built-in Tools (RECOMMENDED):
File → Open & Export → Import/Export → Export to a file → Outlook Data File (.pst)
Microsoft Official Utilities:
Commercial Solutions:
This project demonstrates:
📖 For detailed technical explanation of why this doesn't work, see TECHNICAL-LIMITATIONS.md
# Extract emails to EML, MBOX, and JSON formats
ost2go extract -i input.ost -o my-emails --max 100
# Extract with verbose output
ost2go extract -i input.ost -o my-emails --max 500 --verbose
# RECOMMENDED: Real converter (extracts actual emails)
ost2go convert -i input.ost -o output.pst --real --max-emails 100
# Legacy converter (educational only - output not readable)
ost2go convert -i input.ost -o output.pst --force
# Validate a PST file
ost2go validate -i output.pst
# Validate with detailed output
ost2go validate -i output.pst --verbose
# Display OST file information
ost2go info -i input.ost
| Command | Description | Example |
|---|---|---|
ost2go convert | 🔄 Convert OST to PST | ost2go convert -i file.ost -o file.pst --real |
ost2go extract | 📧 Extract to EML/MBOX/JSON | ost2go extract -i file.ost -o output --max 100 |
ost2go validate | ✅ Validate PST integrity | ost2go validate -i file.pst --verbose |
ost2go info | ℹ️ Show file information | ost2go info -i file.ost |
📚 For comprehensive documentation, see OST2GO_GUIDE.md
-i, --input <path>: Input OST file path (required)-o, --output <path>: Output PST file path (required)--utf8: Ensure UTF-8 encoding support (default: true)--overwrite: Overwrite output file if it exists (default: false)--force: Skip format compatibility warnings (default: false)--real: Use real converter to extract actual emails (recommended)--max-emails <number>: Maximum number of emails to convert (default: 100)-i, --input <path>: PST file path to validate (required)--verbose: Show detailed validation information-i, --input <path>: Input OST file path (required)# Convert a typical OST file (with compatibility warning)
node src/index.js convert -i "C:\Users\John\Documents\Outlook Files\archive.ost" -o "C:\Users\John\Documents\Outlook Files\archive.pst"
# Get information about an OST file
node src/index.js info -i "C:\Users\John\Documents\Outlook Files\archive.ost"
# Convert with overwrite enabled and skip warnings
node src/index.js convert -i "./input.ost" -o "./output.pst" --overwrite --force
# Test conversion with a small file first
node src/index.js convert -i "small_test.ost" -o "test_output.pst" --force
Try a smaller test file first:
# Create a test with a portion of your OST
node src/index.js convert -i "small_sample.ost" -o "test.pst" --force
🏢 Use Microsoft's official tools:
Check file integrity:
# Get file information to verify the conversion
node src/index.js info -i "converted_file.pst"
Import gradually:
| Issue | Solution |
|---|---|
| PST file too large | Split large OST files before conversion |
| Encoding problems | Ensure --utf8 flag is enabled (default) |
| Corrupted source OST | Use scanpst.exe to repair the OST file first |
| Memory errors | Close other applications, use smaller chunks |
| Import hangs | Try importing specific folders instead of entire PST |
npm test
npm run dev
The converter ensures that text content within emails maintains proper UTF-8 encoding, which is essential for:
The converter processes files in chunks to handle large OST files efficiently:
This is a proof-of-concept implementation for educational purposes. The actual OST/PST file formats are proprietary Microsoft formats with complex internal structures. For production use, consider:
ost-to-pst-converter/
├── 📁 src/
│ ├── 📄 index.js # Main CLI application
│ └── 📁 converter/
│ └── 📄 OstToPstConverter.js # Core conversion logic
├── 📁 test/
│ └── 📄 test.js # Test suite
├── 📄 package.json # Project dependencies and scripts
└── 📄 README.md # This file
npm testThis project is licensed under a proprietary license - see the LICENSE file for details.
For issues and questions:
npm test"Input file does not exist"
"Output file already exists"
--overwrite flag to replace existing files"Conversion failed"
"UTF-8 encoding issues"
This project is licensed under a proprietary license - see the LICENSE file for details.
OST2GO is created and maintained by SkyLostTR (@Keeftraum)
OST2GO v2.0.0 - Complete OST/PST Management Toolkit
Built with ❤️ by SkyLostTR (@Keeftraum)
FAQs
A comprehensive Node.js application to convert, extract, and manage Microsoft Outlook OST files with UTF-8 support
We found that ost2go demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.