.NET libraries and tools for creating, converting, and rendering documents — Word, Excel, Markdown, and diagrams — alongside supporting libraries for geospatial maps and icons. Several build directly on DocumentFormat.OpenXml, and many compose with each other to form a small document-tooling ecosystem.
All Papyrine projects participate in the Open Source Maintenance Fee (OSMF). The source for every project stays freely available under its OSI license — viewing, building, modifying, and self-compiling are unaffected. What the OSMF asks is that use of the official binary releases (the published NuGet packages) in revenue-generating activities, and by all government agencies, is supported by sponsorship.
One fee covers the whole family. Sponsorship is declared once and every Papyrine package recognises it — a single sponsorship of the Papyrine sponsor account covers all of the projects listed below, not one per package. Enforcement is a gentle build-time reminder via SponsorCheck (owner mode); there is no runtime impact on the shipped packages, and consumers under US$10,000 annual gross revenue are exempt.
- Learn about the model — https://opensourcemaintenancefee.org
- Pay the fee (sponsor) — https://github.com/sponsors/Papyrine
- How the build-time check works — https://github.com/SimonCropp/SponsorCheck
Organizations that have engaged any of the core maintainers of Papyrine in consulting work could be exempt from the Maintenance Fee for 6 months from the final date of that work.
Papyrine — PAP-ih-rin (/ˈpæpɪrɪn/): "PAP" as in pap, a short i, and "-rin" rhyming with bin.
From Latin papyrus (paper / papyrus plant) + the suffix -ine (meaning "of, relating to, or resembling"). Fittingly, Papyrine is a family of libraries for creating and transforming documents: the modern descendants of the papyrus scroll.
| Project | NuGet | Description |
|---|---|---|
| Excelsior | Data-driven Excel (.xlsx) generation and reading from .NET models, with attribute- and fluent-based column configuration, styling, formulas, HTML cells, and round-trip deserialization. Also ships a Word table generator. |
|
| Parchment | Word (.docx) generation from a .NET model plus a Liquid-driven docx or Markdown template — token substitution, loops, conditionals, and HTML/Markdown/table content blocks. |
| Project | NuGet | Description |
|---|---|---|
| Morph | Renders Word .docx documents or HTML to PNG images. No Microsoft Word dependency; cross-platform, with SkiaSharp and fully-managed ImageSharp backends. |
|
| OpenXmlHtml | Converts HTML into native OpenXml elements for embedding in .xlsx and .docx files — rich text, tables, lists, images, and CSS-to-Word style mapping, with no altChunk. |
|
| Naiad | Renders Mermaid diagrams to SVG. No browser or JavaScript runtime required; supports 25+ diagram types and Iconify/FontAwesome icon packs. | |
| PandocNet | Converts documents between formats via Pandoc — wraps pandoc.exe with CliWrap and exposes strongly-typed options per format, for text, stream, and file conversions. |
| Project | NuGet | Description |
|---|---|---|
| GeoConvert | Converts maps between geospatial vector formats — GeoJSON, TopoJSON, Shapefile, FlatGeobuf, KML/KMZ, GPX, WKT/WKB, CSV, and GeoParquet — plus PNG export. No third-party dependencies; ships as a library and a geoconvert command-line tool. |
|
| MapBundle | Bundled, offline map data for .NET — borders, cities, waterways, and base layers shipped as FlatGeobuf inside per-region NuGet packages. Data from OpenStreetMap and Natural Earth; layers are returned as GeoConvert feature collections. |
| Project | NuGet | Description |
|---|---|---|
| OpenXmlStreaming | Forward-only writer for .docx/.xlsx/.pptx that streams directly to non-seekable targets (HTTP responses, cloud uploads) without buffering the whole package in memory. |
|
| IconifyBundle | Strongly-typed Iconify icons for .NET. A source generator bundles only the icons you reference — baked into the assembly (Resource mode) or written to build output as .svg files (Disk mode) — with Blazor helpers included. |
| Project | NuGet | Description |
|---|---|---|
| MsOfficeDiff | A pair of .NET global tools — diffword and diffexcel — that compare two Word documents or Excel workbooks side by side using Microsoft Office's built-in comparison features. Windows-only; requires the relevant Office app installed. |
- Excelsior uses OpenXmlHtml to render HTML cell content.
- Parchment uses OpenXmlHtml for HTML chunks and Excelsior for embedded Word tables.
- Morph uses OpenXmlHtml when rasterizing HTML content.
- MapBundle builds on GeoConvert, returning its bundled layers as GeoConvert feature collections.
The result is a layered stack: low-level plumbing and shared assets at the bottom (OpenXmlHtml, OpenXmlStreaming, IconifyBundle), document generators in the middle (Excelsior, Parchment), and conversion/rendering on top (Morph, Naiad, PandocNet). The geospatial pair (GeoConvert → MapBundle) and the diff tooling (MsOfficeDiff) stand alongside as self-contained sub-families.