Skip to main content
Open source document automation for .NET and PowerShell

Modern and legacy Office files

Use typed .NET packages for documented DOC, XLS, XLSB, PPT, and modern Office workflows. Use PSWriteOffice for PowerShell authoring, inspection, and conversion — all without Microsoft Office.

DOC, XLS, PPT + modern formats MIT licensed .NET formats + PowerShell automation
DOC / DOCXCreate, edit, convert

Project Overview

Executive summary

Structured document output with headings, paragraphs, tables, images, and metadata.

XLS / XLSXSales analytics
PPT / PPTXQuarterly results

Repeatable presentations from application data.

C#DOC → DOCX
using var doc =
    WordDocument.Load("legacy.doc");
doc.Save("modern.docx");
No COM
No Office Required
Cross-Platform Core
NativeAOT Matrix
MIT License

Start with what you need to do

Create and edit

Build Word, Excel, PowerPoint, PDF, Visio, Markdown, CSV, and other document formats from typed .NET APIs.

Convert and render

Move content between Office, PDF, HTML, Markdown, OpenDocument, RTF, and Google Workspace with focused converter packages.

Read and extract

Normalize text, tables, metadata, images, and chunks for search, review, ingestion, and AI-assisted workflows.

Automate with PowerShell

Use PSWriteOffice for scheduled reports, administration scripts, build pipelines, and repeatable document jobs.

115 Production components
527 PowerShell commands
137 Tracked format behaviors
28 Word, Excel, and PowerPoint variants

Product family

Focused packages, one document platform

Install only the document engines, converters, readers, or automation surfaces your application needs.

Create and edit

Build the document your application needs with a native, typed model.

Formats and conversion

Move structured content across document, web, and interchange formats with explicit diagnostics.

Extraction and automation

Read heterogeneous files, connect Google Workspace, or run the same capabilities from PowerShell.

Code Examples

Use the language that fits your workflow

Call focused .NET packages from applications and services, or use PSWriteOffice for script-first document automation.

using var doc = WordDocument.Create("report.docx");

var paragraph = doc.AddParagraph("Quarterly Sales Report");
paragraph.Style = WordParagraphStyle.Heading1;

doc.AddParagraph("Generated automatically with OfficeIMO.Word.");

var table = doc.AddTable(4, 3);
table.Rows[0].Cells[0].Paragraphs[0].Text = "Region";
table.Rows[0].Cells[1].Paragraphs[0].Text = "Revenue";
table.Rows[0].Cells[2].Paragraphs[0].Text = "Growth";
table.Rows[0].IsHeader = true;

table.Rows[1].Cells[0].Paragraphs[0].Text = "North America";
table.Rows[1].Cells[1].Paragraphs[0].Text = "$1,250,000";
table.Rows[1].Cells[2].Paragraphs[0].Text = "+12%";

doc.Save();

Find a document workflow

Run the example, inspect the source, and download the real output. Each card states what the evidence proves and where fidelity is intentionally bounded.

Design-guided presentation deck

Design-guided presentation deck

Generate editable slides from a brand brief, rank deterministic design alternatives, and validate the resulting Open XML package.

.NET PowerShell Create
Executive PDF dashboard

Executive PDF dashboard

Build a dependency-free PDF report with branded sections, summary metrics, tables, drawing primitives, and page-aware layout.

.NET PowerShell Create
Managed HTML renderer field guide

Managed HTML renderer field guide

Render one stylesheet-authored document through a bounded managed pipeline with layered CSS, document layout, vector paint, MathML, and native PDF fields.

.NET Render Validate
Data-driven purchase report

Data-driven purchase report

Bind encoded purchase rows outside the renderer, then produce a multi-page PDF with wrapped cells, repeated table headers, page counters, and a one-time totals block. PNG and SVG use the same parsed HTML and layout policy.

.NET Create Convert

Frequently Asked Questions

Does OfficeIMO require Microsoft Office to be installed?

No. OfficeIMO uses managed document engines and focused package dependencies; it does not require Microsoft Office, COM automation, or Office interop assemblies at runtime. Optional desktop Office checks are validation oracles, not runtime dependencies.

Does OfficeIMO support DOC, XLS, XLSB, and PPT as well as DOCX, XLSX, and PPTX?

OfficeIMO classifies and reads modern and legacy Word, Excel, and PowerPoint families, writes documented native subsets, and reports conversion coverage by operation and fidelity. Use the compatibility dashboard for tracked behaviors, fallbacks, and deliberate blocks.

What .NET versions are supported?

OfficeIMO targets .NET 8.0, .NET 10.0, .NET Standard 2.0, and .NET Framework 4.7.2.

Is OfficeIMO free for commercial use?

Yes. The OfficeIMO packages themselves are published under the MIT License. However, some optional package families build on third-party dependencies with their own upstream terms, so commercial teams should also review our Third-Party Dependencies page during OSS approval.

How does OfficeIMO compare to Aspose or GemBox?

OfficeIMO is an MIT-licensed, source-available document platform for .NET and PowerShell with modern and legacy Office support, focused packages, explicit conversion-fidelity policies, and no runtime royalty. Commercial suites can provide broader portfolio coverage, more mature rendering for some workloads, formal support, and procurement SLAs. Compare the exact formats, operations, fidelity, deployment model, and support obligations your application needs on our evaluation page.

View All FAQs

Start Building Office Documents Today

Free, open source, and MIT licensed. Install in seconds.

.NET dotnet add package OfficeIMO.Word
PowerShell Install-Module PSWriteOffice
Get Started