Pure C# · No Office Required · .NET 8 Ready

Generate PowerPoint presentations in .NET

NetCorePpt is a pure C# library for creating PPTX files — a complete port of PptxGen.js. Build charts, tables, shapes, and rich slides entirely in code, with zero dependency on Microsoft Office.

NuGet package dotnet add package NetCorePpt
Program.cs
using NetCorePpt;

var pres = new Presentation();
var slide = pres.AddSlide();

slide.AddText("Quarterly Revenue",
    new { X = 1, Y = 0.5, W = 8, H = 1,
            FontSize = 32, Bold = true });

slide.AddChart(ChartType.Bar, chartData,
    new { X = 1, Y = 2, W = 8, H = 4.5 });

pres.WriteFile("report.pptx");
Trusted by teams building
Financial reports Data dashboards Automated decks Export pipelines SaaS templates
Everything you need

A full PowerPoint engine, in pure C#

Every feature from PptxGen.js, reimagined as idiomatic .NET. Strongly typed, fully async, ready for servers and containers.

Charts

Bar, line, pie, doughnut, scatter, area and more — with full series styling and native PPTX rendering.

Tables

Styled tables with per-cell formatting, alignment, spans, and column-width control.

Text & Rich Text

Multi-run text, fonts, colors, bullets, hyperlinks, and precise positioning in inches or cm.

Shapes & Images

Rectangles, lines, arrows, stars, plus images with cropping, rounding, and placeholders.

Slide Masters

Define masters and layouts once; reuse across decks for consistent branding.

100% PPTX Compatible

Files open cleanly in PowerPoint, Keynote, Google Slides, and LibreOffice. No render glitches.

Server-friendly

No Office install, no COM, no Windows-only APIs. Runs on Linux, macOS, and Windows containers.

Native .NET

A real C# codebase — strongly typed, nullable-aware, with async APIs and clean XML docs.

See it in action

From idea to .pptx in minutes

The API mirrors PptxGen.js, so any JavaScript example you already know translates almost line-for-line into C#.

SimpleSlide.cs
using NetCorePpt;

var pres = new Presentation();
var slide = pres.AddSlide();

slide.AddText("Hello from C#", new TextProps {
    X = 1.0, Y = 1.0, W = 8.0, H = 1.5,
    FontSize = 40, Bold = true,
    Color = "6D28D9"
});

slide.AddImage("logo.png", new ImageProps {
    X = 7.5, Y = 4.0, W = 1.5, H = 1.5
});

pres.WriteFile("hello.pptx");
Why NetCorePpt

Built for .NET developers who hate Office automation

If you've ever wrestled with Office Interop on a server, you know the pain. NetCorePpt skips all of it — no Office install, no COM hell, no Windows lock-in.

  • Runs anywhere .NET runs. Linux containers, Azure Functions, AWS Lambda, desktop apps — one library, every runtime.
  • No silent failures. Strongly-typed props and nullable annotations catch mistakes at compile time, not at slide render.
  • Same API you already know. Ported from PptxGen.js, so the examples, docs, and StackOverflow answers all carry over.
Office Interop
  • Requires Microsoft Office installed
  • Windows-only, breaks in containers
  • COM leaks, hangs, zombie processes
NetCorePpt
  • Zero native dependencies
  • Cross-platform, container-ready
  • Deterministic, async, testable
Simple pricing

One license, every feature

Pay yearly. Region-detected price shown below. Cancel anytime — the library keeps working in your shipped products.

Developer License
$ 100 / year

≈ ¥600 / year for visitors from China

  • Commercial use in your products
  • Unlimited PPTX generation
  • All features — charts, tables, masters
  • NuGet package + XML docs
  • Priority email support
  • 1 year of updates
Buy Now

30-day money-back guarantee

Questions

Frequently asked

Is NetCorePpt really a full port of PptxGen.js?

Yes. Every API surface from PptxGen.js — slides, text, charts, tables, shapes, images, media, masters, and layouts — has been rewritten as idiomatic C#. The behavior and PPTX output match the original.

Do I need Microsoft Office installed?

No. NetCorePpt writes PPTX files directly. There is no dependency on Office, COM, or any native binary. It runs on Linux, macOS, and Windows.

Can I use it in commercial products?

With a Developer License, yes — ship NetCorePpt inside your commercial applications, SaaS, and internal tools with no per-deploy fees.

Which .NET versions are supported?

.NET 6, 7, and 8 (LTS recommended). The package targets net6.0 and net8.0, and works in .NET Framework 4.8 via the .NET Standard 2.0 surface.

What happens after my license year ends?

The library keeps working in everything you've already shipped — you're not locked out. Renewing extends updates and support for another year.

How is support handled?

Email support with a 1-business-day response target on weekdays. Bug reports are prioritized and typically patched within a release cycle.

Stop fighting Office automation.

Generate clean, compatible PPTX from pure C# — today.

Get a License