A free, open-source Windows PDF editor with a built-in PDF 2.0 engine for viewing, annotating, OCR, merging, splitting, signing and more.
QuestPDF/QuestPDF
A C# library for generating PDF documents from strongly-typed, fluent code instead of HTML-to-PDF conversion.
- Stars
- 14,209
- Forks
- 772
- Open issues
- 41
- Last commit
- 12 hours ago
What is it?
QuestPDF lets .NET developers define PDF layouts directly in C# using a fluent, component-based API. Pages, headers, footers, tables, rows, columns, images, SVG and rich text are all composed in code, so layouts can use normal language features such as loops, conditionals and reusable functions.
Because the document is built from code rather than rendered from HTML and CSS, layout results are intended to match what the code describes. The library also supports RTL text, font fallback, PDF/A and PDF/UA output, and ZUGFeRD/Factur-X e-invoicing. A separate operations API can merge, split, encrypt and attach files to existing PDFs.
It targets .NET 6+ and .NET Framework 4.6.2+, runs on Windows, Linux and macOS, and is distributed as a NuGet package. A companion app provides live preview and hot reload during development.
Key features
- 01Fluent C# API for layouts with tables, rows, columns and lists
- 02Document operations to merge, split, encrypt and attach files to PDFs
- 03PDF/A, PDF/UA and ZUGFeRD/Factur-X compliance output
- 04RTL layout, bidirectional text and font fallback support
- 05Companion app with live preview and hot reload
Use cases
- Generating invoices and financial reports from .NET backend data
- Producing archival or accessible PDFs that must meet PDF/A or PDF/UA requirements
- Creating European e-invoices with embedded ZUGFeRD or Factur-X XML
Quick start
- 1
Install the QuestPDF NuGet package
dotnet add package QuestPDF - 2
Create a document in C# and generate a PDF from the Quick start example
Things to know
- Free use is limited to individuals, non-profits, open-source projects, and organizations under $1M annual gross revenue; larger organizations need a commercial license.
- The license is listed as NOASSERTION, so check the license terms before use.
Topics
FAQ
- What is QuestPDF?
- A C# library for generating PDF documents from strongly-typed, fluent code instead of HTML-to-PDF conversion. QuestPDF lets .NET developers define PDF layouts directly in C# using a fluent, component-based API. Pages, headers, footers, tables, rows, columns, images, SVG and rich text are all composed in code, so layouts can use normal language features such as loops, conditionals and reusable functions.
- Is QuestPDF free to use? What license does it have?
- QuestPDF is open source under the Other license. Check the license terms before using it in commercial products.
- Is QuestPDF still maintained?
- Actively maintained. The last commit to QuestPDF was on Oct 21, 2026.
- What can I use QuestPDF for?
- Generating invoices and financial reports from .NET backend data Producing archival or accessible PDFs that must meet PDF/A or PDF/UA requirements Creating European e-invoices with embedded ZUGFeRD or Factur-X XML
- How do I install QuestPDF?
- Install the QuestPDF NuGet package: dotnet add package QuestPDF Create a document in C# and generate a PDF from the Quick start example
- Where can I get QuestPDF?
- The source code and installation instructions are on GitHub: https://github.com/QuestPDF/QuestPDF
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Java template engine that generates Word (.docx) documents from templates with tags, built on Apache POI.
Open source, cross-platform, user-mode driver for graphics tablets, running on Windows, Linux and macOS with a configurable GUI.
A console tool for downloading Steam depots, workshop items and game content by app, depot or manifest ID, built on SteamKit2.
Minimal zero-dependency TypeScript library for generating real PDF files with text, rectangles, lines, JPEG images and links.
A .NET framework for building cross-platform 2D and 3D games in C#, re-implementing Microsoft's discontinued XNA Framework.