CheckOps home

Tools directory

P

CheckOps

Puppeteer Sharp

Puppeteer Sharp is an MIT-licensed .NET port of the Node.js Puppeteer API for automating Chrome and Firefox, with WebDriver BiDi support for Firefox.

Visit website

Latest public signals

Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.

Visit Website

Introduction

Puppeteer Sharp is a .NET port of the official Node.js Puppeteer API. It lets C# developers launch and control Chrome or Firefox, navigate pages, interact with elements, evaluate JavaScript, intercept requests and capture screenshots and PDFs.

The README highlights testing the latest Firefox versions through WebDriver BiDi (since version 21) and AOT compilation support (since version 19). It ships as several packages: PuppeteerSharp for full cross-browser automation, PuppeteerSharp.Cdp for Chrome-only AOT apps where binary size matters, and a companion for ASP.NET Classic.

The library targets .NET Standard 2.0 (for .NET Framework 4.6.1+ and .NET Core 2.0+) and has a .NET 8 build. It can download a browser automatically with BrowserFetcher.

In the quality loop it supports end-to-end checks and rendering tests in .NET projects.

Features

  1. Puppeteer API in C#: Familiar API for anyone who knows Puppeteer.
  2. Chrome and Firefox: CDP for Chrome, WebDriver BiDi for Firefox.
  3. Request interception: Mock or block network calls.
  4. Screenshots and PDFs: Render pages for checks or documents.
  5. AOT support: Smaller binaries with the CDP package.

Pros

  1. Native .NET: No Node.js needed.

Cons

  1. No WebKit: Safari engine not covered; Playwright for .NET covers WebKit.
  2. Library only: Use with NUnit, xUnit or MSTest for test structure.
await new BrowserFetcher().DownloadAsync();
await using var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true });
await using var page = await browser.NewPageAsync();
await page.GoToAsync("https://example.com");
Assert.Equal("Example Domain", await page.GetTitleAsync());

Resources:

Pricing

See site.

  1. .NET teams who know Puppeteer.
  2. Rendering and PDF jobs in .NET.
  3. Not a fit when Safari/WebKit coverage matters.

Conclusion

Puppeteer Sharp is a faithful, actively maintained Puppeteer port for .NET.

On CheckOps, Puppeteer Sharp is filed under the End-to-end & functional stage. Related tools listed here include Puppeteer, Playwright, Selenium, Atata, chromedp and Browserless. Before choosing, compare them on licence, supported languages and platforms, hosting model, and how well each fits your existing CI pipeline. Facts on this page were checked against the official website, documentation and repository on 11 November 2026; statements the vendor makes about its own product are marked as vendor claims.

Alternatives

Other tools on CheckOps that cover similar ground. Open a page, or compare one with Puppeteer Sharp side by side.