Open Source · Apache 2.0 · .NET

Office to PDF.
No Office
required.

MiniPdf converts Word and Excel files to PDF with no COM dependencies, no cloud uploads, and no Adobe. Just .NET — runs anywhere, including serverless.

.NET 8+ DOCX → PDF XLSX → PDF Native AOT Serverless-ready No Office install Apache 2.0
minipdf — package.json
package "MiniPdf"
formats_in ["docx","xlsx"]
formats_out "pdf"
office_required false ✗
native_aot true ✓
serverless true ✓
license "Apache-2.0"
test_cases 373+
⚡ avg quality score: >95% XLSX · >90% DOCX
373+
Test Cases
95%
Avg XLSX Quality
90%
Avg DOCX Quality
0deps
Office / COM Required
Live Demo

Convert a file now

Drop a .docx or .xlsx file below. Your file is sent to the API, converted server-side by MiniPdf, and returned as a PDF — nothing is stored.

📄
Drop your file here
or click to browse
DOCX XLSX → PDF
📄
report.docx
142 KB
Uploading…
⚠ An error occurred. Please try again.
📋
output.pdf
Ready to download
↓ Download PDF
minipdf — conversion.log
00:00:00// MiniPdf converter ready 00:00:00Waiting for file…
Under the Hood

How it works

MiniPdf parses Office Open XML formats directly — no COM interop, no LibreOffice, no proprietary SDKs.

// step_01
📥

Parse OOXML

MiniPdf reads the Open XML structure of your .docx or .xlsx file using built-in .NET APIs — no third-party Office SDKs required.

// step_02
⚙️

Render to PDF 1.4

Content is laid out and rendered into a valid PDF 1.4 stream, handling text, fonts, images, tables, charts, and styles natively.

// step_03
📤

Return bytes

The API returns the PDF as a byte array or file stream. Nothing is stored server-side. Works as a NuGet library, CLI tool, or HTTP endpoint.

Integration

Drop it into your stack

Three lines of C# is all you need. MiniPdf ships as a NuGet package, CLI tool, and pre-compiled Native AOT binaries.

// basic usage — C#
// Excel → PDF
MiniPdf.ConvertToPdf("data.xlsx", "output.pdf");

// Word → PDF
MiniPdf.ConvertToPdf("report.docx", "output.pdf");

// Return as byte array
byte[] pdf = MiniPdf.ConvertToPdf("data.xlsx");

// From a stream
using var stream = File.OpenRead("data.xlsx");
byte[] pdf = MiniPdf.ConvertToPdf(stream);
// custom fonts
// Register fonts at app startup
MiniPdf.RegisterFont("NotoSansSC",
  File.ReadAllBytes("Fonts/NotoSansSC.ttf"));

MiniPdf.ConvertToPdf("report.docx", "out.pdf");
$ install
# NuGet package (library)
dotnet add package MiniPdf

# Global CLI tool
dotnet tool install --global MiniPdf.Cli

# Standalone binaries (no .NET runtime needed)
# Download from GitHub Releases for:
# Windows x64/ARM64
# Linux   x64/ARM64
# macOS   x64/ARM64
$ CLI usage
# Basic conversion
minipdf report.docx

# Specify output path
minipdf convert report.docx -o ./out/report.pdf

# With custom fonts folder
minipdf report.docx --fonts ./Fonts

# Show version
minipdf --version
Features

Built for real workloads

🚫

Zero Office dependency

No Microsoft Office, no COM interop, no LibreOffice. Converts purely via built-in .NET APIs — deploy anywhere.

Native AOT binaries

Pre-compiled standalone executables for Windows, Linux, and macOS. No .NET runtime required on the target machine.

☁️

Serverless-ready

Cold-start friendly, no disk state required. Works in AWS Lambda, Azure Functions, and containerized environments.

🔤

Custom font support

Register any TTF font at startup to handle Unicode, CJK characters, emoji, and custom brand typefaces.

📊

Charts & images

Handles bar, pie, line, scatter charts plus embedded images with solid rendering fidelity across test cases.

🆓

100% open source

Apache 2.0 license — free for personal and commercial use, no strings attached. Fork it, ship it, build on it.

Benchmarks

Quality by the numbers

Scored across 373+ test cases measuring text similarity, visual accuracy, and page count. Methodology: text 40% · visual 40% · page count 20%.

XLSX overall >95%
DOCX overall >90%
Text similarity ~97%
Visual similarity ~91%
Page count accuracy ~98%
✓ Excellent on basic documents
Tables, merged cells, text formatting, images, and standard layouts consistently score ≥90%.
✓ Multi-language & Unicode
Tested against CJK, RTL, and emoji-heavy documents. Register TTF fonts for full language coverage.
⚠ Beta: complex charts
Highly customized pivot charts and advanced formatting may show variance. Roadmap item for v1.0.
Get Started

Install in 30 seconds

Pick your deployment method — NuGet library, global CLI tool, or a pre-compiled binary that needs no runtime at all.

// add to your .NET project
dotnet add package MiniPdf

# Then in your code:
MiniPdf.ConvertToPdf("report.docx", "output.pdf");
GitHub Repo ↗ NuGet Package ↗ CLI Tool ↗