Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Chrome DevTools
  3. ChromeDevTools/devtools-protocol

ChromeDevTools/devtools-protocol

BSD-3-ClauseTypeScript

TypeScript definitions and JSON schemas for the Chrome DevTools Protocol, enabling programmatic browser automation.

Visit WebsiteGitHubGitHub
1.5k stars276 forks0 contributors

What is ChromeDevTools/devtools-protocol?

devtools-protocol is a repository that provides TypeScript definitions and JSON schema files for the Chrome DevTools Protocol (CDP). It enables developers to programmatically control and inspect Chromium-based browsers by offering structured, type-safe interfaces to the protocol's commands, events, and types. This project solves the problem of manually maintaining protocol definitions when building browser automation tools, debugging utilities, or testing frameworks.

Target Audience

Developers building browser automation tools (like Puppeteer or Playwright), debugging utilities, performance profiling applications, or any software that needs to interact programmatically with Chrome or Chromium-based browsers.

Value Proposition

Developers choose devtools-protocol because it provides authoritative, up-to-date, and machine-readable protocol definitions directly from the Chrome DevTools team. The TypeScript support ensures type safety and better developer experience, while the JSON schemas enable validation and code generation across different programming languages.

Overview

Chrome DevTools Protocol

Use Cases

Best For

  • Building type-safe browser automation libraries like Puppeteer or Playwright
  • Creating custom Chrome DevTools extensions or debugging tools
  • Developing performance profiling and monitoring applications for web pages
  • Generating protocol client code in various programming languages
  • Validating Chrome DevTools Protocol messages in testing frameworks
  • Integrating browser instrumentation into continuous integration pipelines

Not Ideal For

  • Developers who want a ready-to-use browser automation API without implementing low-level protocol communication
  • Projects targeting non-Chromium browsers like Firefox or Safari
  • Teams needing direct issue resolution and support within the project repository

Pros & Cons

Pros

Authoritative TypeScript Support

Provides complete TypeScript interfaces for all protocol domains, ensuring type safety and reducing errors in automation code, as seen in the types/protocol.d.ts file.

Seamless NPM Integration

Published as an npm package, making it easy to install, update, and integrate into Node.js and web projects, as highlighted in the README.

Machine-Readable JSON Schemas

JSON schema files enable validation and automated code generation, allowing developers to build tools in various programming languages beyond JavaScript.

Flexible API Mappings

Offers both DomainApi-style and simple name-to-type mappings in protocol-proxy-api.d.ts and protocol-mapping.d.ts, giving multiple consumption options.

Cons

No In-Repository Issue Tracking

The README directs users to file issues on Chromium's bug tracker, which can fragment support and make it less convenient for community feedback.

Requires Custom Implementation

Only provides protocol definitions, so developers must build WebSocket or other communication layers, adding significant development overhead compared to turnkey solutions.

Chromium-Only Limitation

The protocol is specific to Chromium-based browsers, making it unsuitable for cross-browser automation without additional tools or adaptations.

Frequently Asked Questions

Quick Stats

Stars1,494
Forks276
Contributors0
Open Issues6
Last commit1 day ago
CreatedSince 2017

Tags

#playwright#debugging-tools#puppeteer#typescript-definitions#json-schema#chrome-devtools-protocol#web-development#browser-automation

Built With

J
JSON
T
TypeScript

Links & Resources

Website

Included in

Chrome DevTools6.9k
Auto-fetched 1 day ago

Related Projects

DevTools Protocol API DocsDevTools Protocol API Docs

Easy browsable UI for exploring the protocol's domains, methods and events

Stars0
Forks0
Last commit
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub