CheckOps
chromedp
chromedp is an MIT-licensed Go package that drives Chrome and other Chrome DevTools Protocol browsers directly from Go, without external dependencies such as Selenium or Node.js.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
chromedp is a Go package for driving browsers that speak the Chrome DevTools Protocol. The README stresses that it needs no external dependencies: the module uses only the Go standard library and the cdproto protocol bindings, starts a browser and talks to it through a pipe.
Tasks are expressed as a list of actions such as chromedp.Navigate, chromedp.WaitVisible, chromedp.Click, chromedp.Text and chromedp.Screenshot, run with chromedp.Run(ctx, ...). Context cancellation and timeouts follow normal Go patterns, and a separate remote package connects to an already running browser over WebSocket.
Current versions need Go 1.25 or newer. Go teams use chromedp for end-to-end smoke tests of web UIs, generating screenshots and PDFs, and checking rendered pages in integration tests without bringing a Node.js toolchain into the build.
In the quality loop it sits at the end-to-end stage for Go services that serve web front ends.
The source code is at chromedp/chromedp on GitHub under the MIT licence, with about 13,400 stars; the most recent commit was on 5 November 2026.
Features
- Pure Go: No Selenium, WebDriver or Node.js needed.
- Action-based API: Compose navigation, waits, clicks, text extraction and screenshots.
- Context support: Timeouts and cancellation via Go contexts.
- Remote browsers: Connect to a running browser with the
remotepackage. - Full CDP access: Use any DevTools Protocol domain through
cdproto.
Pros
- Fits Go toolchains: Tests run with
go testlike everything else. - Free to use: Open source under the MIT licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 5 November 2026.
- Community: About 13,400 GitHub stars.
Cons
- Chromium only: Works with CDP browsers, not Firefox or Safari via WebDriver.
- Low-level for testing: No assertions, test runner or reporting; you build those with Go testing.
Usage and Links (Example)
func TestHomePage(t *testing.T) {
ctx, cancel := chromedp.NewContext(context.Background())
defer cancel()
var title string
if err := chromedp.Run(ctx,
chromedp.Navigate("https://example.com"),
chromedp.Title(&title),
); err != nil { t.Fatal(err) }
if title != "Example Domain" { t.Fatalf("got %q", title) }
}
Resources:
Pricing
chromedp is free and open source under the MIT licence.
Recommended for?
- Go teams that want browser checks inside
go test. - Screenshot and PDF generation in Go services.
- Not a fit for cross-browser testing.
Conclusion
chromedp is the standard, dependency-light way to drive Chrome from Go, with a large community of about 13,400 GitHub stars.
On CheckOps, chromedp is filed under the End-to-end & functional stage. Related tools listed here include Rod, Puppeteer, Playwright, Lightpanda, Ferrum 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.
Compare
CheckOps pages that put chromedp next to related tools. There is no paid placement on these lists.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with chromedp side by side.
RRodRod is an MIT-licensed, high-level Go driver for the Chrome DevTools Protocol, designed for web automation and testing with chained contexts, auto-waiting helpers and iframe and shadow DOM support.Compare with chromedp
PPuppeteerJavaScript API for Chrome and Firefox.Compare with chromedp
PPlaywrightPlaywright is a framework for Web Testing and Automation.Compare with chromedp
LLightpandaLightpanda is an AGPL-3.0 headless browser written from scratch in Zig for automation and AI agents, exposing CDP and WebDriver BiDi so Puppeteer and Playwright scripts can drive it with far less memory than headless Chrome.Compare with chromedp
FFerrumFerrum is an MIT-licensed Ruby library that controls Chrome directly through the Chrome DevTools Protocol, with no Selenium or ChromeDriver dependency.Compare with chromedp
BBrowserlessBrowserless runs headless Chrome, Firefox and WebKit as a service, in Docker or in its cloud, so Puppeteer and Playwright scripts connect over WebSocket; source available under SSPL-1.0 or a commercial licence.Compare with chromedp