HTML to PDF converters for .NET, side by side

What PdfPecker and the usual alternatives can do, from their own documentation. Every converter here is a good choice for something, so the notes say where each one shines.

Turn your phone sideways to see the whole table, or swipe it.

Feature PdfPecker HtmlRenderer.PdfSharpHtmlRendereron PDFsharp IronPDF Syncfusion SelectPdf AsposeAspose.HTML and Aspose.PDF iText pdfHTML ChromiumChromePuppeteerSharp or Playwright wkhtmltopdfwkhtmltopdf
The basics
LicenceMIT, freeMITBSD-3, on PDFsharp 6.2.4 (MIT); with PDFsharp 6.5 or later it becomes AGPL or paidBSD, MITCommercial, per developerPaidCommercial; free community licence for small companiesPaidCommercial from $499; free edition up to 5 pagesPaidCommercialPaidAGPL-3.0, or a paid commercial licenceAGPL or paidMIT, freeMITLGPL-3.0, freeLGPL
Still maintainedYesYesYesYesYesYesYesYesNoarchived in January 2023
EngineOwn, managed C#OwnOwn, managed (HtmlRenderer)OwnChrome, nativeChromeChrome (Blink), nativeChromeChromium (Blink), nativeChromeOwn (Aspose.HTML)OwnOwn, managed C#OwnChromium browserChromeQt WebKit from 2016, nativeWebKit
To deploy3.1 MB DLL3 MB2.4 MB of DLLs2 MBNative Chrome engine per OSNativeChrome binaries per OS, plus Linux packagesNativeBundled Chromium per OSNativeNuGet packagesNuGetManaged NuGet packagesNuGetAbout 600 MB browser600 MBAbout 90 MB native binary90 MB
No browser or extra processYesYesYesengine runs in your processNostarts Chrome to convertNoruns ChromiumYesYesNoa browser per serverPartlya process per PDF, or a native DLL
Runs JavaScriptNoby designNoYesYescan be turned offYescan be turned offYescan be sandboxedNoYesPartlyan old WebKit engine
Flexbox and gridYesplus var(), calc() and transformsNoHTML 4 and CSS 2 onlyYeseverything Chrome doesYeseverything Chrome doesYeseverything Chrome does?not stated in its docsPartlyflexbox and grid, both incompleteYesthe reference for CSSNoCSS 2.1 and some CSS 3
Right-to-left and complex scriptsNonot yetNoYesYesYes?not stated in its docsPartlyneeds the paid pdfCalligraph add-onYesYes
PDF features
PDF/A archivingYesPDF/A-2b and 3b?not stated in its docsYesYesPDF/A-1 to 4YesYeswith Aspose.PDFYesNoNo
PDF/UA accessibilityYesPDF/UA-1, tagged from your HTMLPartlyPDFsharp can tag, but not from your HTMLYesPDF/UA-1 and 2YesPDF/UA-1 and 2YesPDF/UA-2 in the Universal editionYeswith Aspose.PDFYesPDF/UA-1 and 2Partlytagged PDF, no PDF/UA (experimental)No
Digital signaturesYesPAdES, visible boxes, timestampsYeswith PDFsharp 6.2 or laterYesYesPartlysigning in the Windows edition; Universal validates onlyYeswith Aspose.PDFYeswith iText CoreNoNo
Passwords and encryptionYesAES-256 and permissionsYesup to AES-256YesYesup to AES-256Yesup to AES-256YesYeswith iText CoreNoNo
Fillable forms from HTMLYesinputs, check boxes, radios, selectsNoYesYesEnableForm?not stated in its docs?not stated in its docsPartlyopt-in, limitedNofields print as staticPartlywith --enable-forms
BookmarksYesfrom your headingsYesthrough the PDFsharp APIYesthrough its APIYesfrom your headingsYesfrom HTML elementsYeswith Aspose.PDFYesfrom your headingsPartlyexperimental outline optionYesfrom your headings
WatermarksYestext or imageYesdrawn with PDFsharpYesYes?not stated in its docsYeswith Aspose.PDFYeswith iText CoreNodraw them in your HTMLNodraw them in your HTML
E-invoicesYesFactur-X, ZUGFeRD, PDF in UBLPartlypaid Factur-X add-onYesZUGFeRD XML in PDF/A-3YesZUGFeRDYesZUGFeRD and Factur-X, paid edition?not stated in its docsPartlyPDF/A-3 attachments, by handNoNo
Merge PDFsYesstreamed, one file at a timeYeswith PDFsharpYesYesYesYeswith Aspose.PDFYeswith iText CoreNoNo
PDF to imageYesown renderer to PNGNoYesYes?not stated in its docsYeswith Aspose.PDFNoNoscreenshots of HTML onlyNowkhtmltoimage does HTML only
Speed on the same 4-core VM
Invoice, 1 page0.86 ms5.0 msnot measured–263 ms *263 ms*not measured–not measured–41 ms *41 ms*128 to 142 ms128 ms289 ms
Report, 30 pages39 ms473 msnot measured–1.7 s, as 13 pages *1.7 s*not measured–not measured–4.2 s *4.2 s*522 to 539 ms522 ms693 ms
Peak memory83 MB255 MBnot measured–2,195 MB *2.2 GB*not measured–not measured–614 MB *614 MB*849 to 986 MB849 MB164 MB

Speed figures are medians after warm-up on one 4-core Linux VM with .NET 10, where the Chromium column shows PuppeteerSharp and Playwright. * Syncfusion (as a trial, with its 2-second script wait turned off) and iText come from a later run on the same VM type and are approximate. IronPDF, SelectPdf and Aspose were not measured. A question mark means the converter's documentation doesn't say either way. How it was measured. Checked against each project's public documentation in October 2026; if something has changed, let us know.

Which one fits

PdfPecker is a document engine, not a browser. Pick something else when you need what only a browser does.

PdfPecker

Invoices, payslips, reports and other templates you control, when you want speed, a small deployment, no browser to keep patched and an MIT licence, with PDF/A, PDF/UA, signatures, forms and e-invoices built in.

HtmlRenderer.PdfSharp

The closest match: also fully managed, in process and free. Its HTML support stops at HTML 4 and CSS 2, so it suits simple layouts, and PDFsharp underneath gives you a solid API for drawing, merging and signing. PDFsharp 6.5 moved to AGPL or a paid licence.

IronPDF

Chrome-exact output with JavaScript, plus a large PDF editing API and paid support, if the licence fits your budget.

Syncfusion or SelectPdf

Commercial PDF suites that drive Chrome for you, with JavaScript and a wide PDF API. Syncfusion is free for small companies under its community licence, and SelectPdf has a free edition for documents of up to 5 pages.

Aspose

A large commercial family of document APIs. Aspose.HTML renders the HTML with its own engine, and Aspose.PDF adds PDF/A, PDF/UA, signatures and the rest.

iText pdfHTML

A long-established PDF toolkit with deep standards support, under AGPL or a commercial licence. Complex scripts need its pdfCalligraph add-on.

PuppeteerSharp or Playwright

Free and exactly what Chrome prints, including JavaScript-heavy pages and live websites, at the cost of running a browser.

wkhtmltopdf

Archived since 2023 on a WebKit from 2016, so best kept for existing systems that already depend on it.

Not HTML at all

QuestPDF builds documents from C# code instead of HTML. It's a fine choice when you would rather write layout in code than keep HTML templates.

Sources