v2.0.0 • Open Source

Convert & Extract
Outlook OST Files

A powerful Node.js toolkit for converting, extracting, and managing Microsoft Outlook OST files. Fast, reliable, and easy to use.

# Install globally
npm install -g ost2go

# Convert OST to PST
ost2go convert -i yourfile.ost -o output.pst

Powerful Features

Everything you need to work with OST files

OST to PST Conversion

Convert OST files to PST format with both real and legacy modes. Supports UTF-8 encoding and maintains email structure.

Email Extraction

Extract emails to EML, MBOX, or JSON formats. Perfect for archiving, analysis, or migration to other systems.

PST Validation

Validate PST file integrity with comprehensive header and structure checks. Ensure your files are properly formatted.

File Information

Display detailed information about OST/PST files including email count, size, format version, and encryption status.

CLI Interface

Unified command-line interface with intuitive commands, progress indicators, and colorful output for better user experience.

Modular Architecture

Clean, maintainable code structure with separate modules for parsing, conversion, extraction, and validation.

Quick Start

Get up and running in minutes

1

Install Node.js

Make sure you have Node.js 18+ installed on your system

node --version
2

Install OST2GO

Install globally using npm

npm install -g ost2go
3

Start Using

Run your first command

ost2go --help

Documentation

Complete guides and references

Usage Guide

OST2GO provides several commands for working with OST and PST files.

Convert OST to PST

# Real mode (recommended)
ost2go convert -i yourfile.ost -o output.pst --real

# Legacy mode
ost2go convert -i yourfile.ost -o output.pst --legacy

# Limit number of emails
ost2go convert -i yourfile.ost -o output.pst --max-emails 100

Extract Emails

# Extract to EML format
ost2go extract -i yourfile.ost -o emails/ --format eml

# Extract to MBOX format
ost2go extract -i yourfile.ost -o emails.mbox --format mbox

# Extract to JSON format
ost2go extract -i yourfile.ost -o emails.json --format json

# Limit number of emails
ost2go extract -i yourfile.ost -o emails/ --max 50

Display File Information

ost2go info -i yourfile.ost

Validate PST File

ost2go validate -i output.pst

Configuration

OST2GO works out of the box with sensible defaults, but you can customize its behavior.

Global Installation

npm install -g ost2go

Local Installation

# Install locally
npm install ost2go

# Run with npx
npx ost2go --help

Environment Requirements

  • Node.js: Version 18.0.0 or higher
  • Memory: Recommended 2GB+ RAM for large files
  • Disk Space: Ensure sufficient space for output files
  • OS: Windows, macOS, or Linux

Common Options

Option Description
-i, --input Input OST or PST file path
-o, --output Output file or directory path
--max, --max-emails Maximum number of emails to process
--format Output format (eml, mbox, json)
--real Use real conversion mode
--legacy Use legacy conversion mode

Command Reference

Complete reference for all OST2GO commands.

convert

Convert OST files to PST format.

ost2go convert -i input.ost -o output.pst [options]

Options:
  -i, --input        Input OST file path (required)
  -o, --output       Output PST file path (required)
  --real             Use real conversion mode (recommended)
  --legacy           Use legacy conversion mode
  --max-emails       Maximum number of emails to convert

extract

Extract emails from OST files to various formats.

ost2go extract -i input.ost -o output/ [options]

Options:
  -i, --input        Input OST file path (required)
  -o, --output       Output directory or file path (required)
  --format           Output format: eml, mbox, json (default: eml)
  --max              Maximum number of emails to extract

info

Display detailed information about OST or PST files.

ost2go info -i file.ost

Options:
  -i, --input        Input OST or PST file path (required)

validate

Validate PST file integrity and structure.

ost2go validate -i file.pst

Options:
  -i, --input        Input PST file path (required)

Modify & Extend

Learn how to customize and extend OST2GO for your needs.

Project Structure

ost2go/
├── src/
│   ├── analyzer/     # OST/PST file analysis
│   ├── converter/    # Conversion logic
│   ├── extractor/    # Email extraction
│   ├── parser/       # File parsing
│   ├── scanner/      # Database scanning
│   ├── validator/    # PST validation
│   └── writer/       # PST file writing
├── bin/              # CLI entry point
├── docs/             # Documentation
└── test/             # Tests

Clone & Setup

# Clone repository
git clone https://github.com/SkyLostTR/OST2GO.git
cd OST2GO

# Install dependencies
npm install

# Run tests
npm test

Adding New Features

To add new features, follow the modular architecture:

  1. Create a new module in the appropriate src/ subdirectory
  2. Follow the existing code style and patterns
  3. Add JSDoc comments for all public methods
  4. Include copyright header in all source files
  5. Update tests in test/ directory
  6. Document changes in CHANGELOG.md

Code Style

/**
 * OST2GO - [Module Name]
 * 
 * [Brief description]
 * 
 * @author SkyLostTR (@Keeftraum)
 * @license SEE LICENSE IN LICENSE
 * @repository https://github.com/SkyLostTR/OST2GO
 */

class YourModule {
    /**
     * @param {Object} options Configuration options
     */
    constructor(options = {}) {
        // Clear, descriptive variable names
        this.maxRetries = options.maxRetries || 3;
    }
}

Running Tests

# Run all tests
npm test

# Test specific commands
ost2go extract -i yourfile.ost -o test --max 10
ost2go info -i yourfile.ost

Contributing

Contributions are welcome! Please:

  • Fork the repository
  • Create a feature branch
  • Make your changes with clear commit messages
  • Test thoroughly
  • Submit a pull request

License

OST2GO is licensed under a proprietary license.

Copyright

© 2024-2025 SkyLostTR (@Keeftraum). All rights reserved.

Terms

Repository: https://github.com/SkyLostTR/OST2GO

Author: SkyLostTR (@Keeftraum)

Version: 2.0.0

This software is provided "as is" for educational and research purposes. The generated PST files may not be compatible with all email clients.

For the complete license terms, please see the LICENSE file in the repository.

Third-Party Dependencies

OST2GO uses the following open-source packages:

  • chalk - Terminal string styling
  • cli-progress - Progress bars for CLI
  • commander - Command-line interface framework

See package.json for complete dependency list and versions.

Known Limitations

Important: This is an educational and research tool.

  • Generated PST files may not be compatible with all email clients
  • OST structure conversion is incomplete (surface-level only)
  • Not recommended for production use

Support