protobufjs/protobuf.js

High-performance Protocol Buffers for JavaScript and TypeScript. Conformant through Edition 2026, and unusually versatile. No protoc required.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 24 minutes ago
Added to GitGenius on September 5th, 2026
Created on March 1st, 2013
Open Issues & Pull Requests: 87 (+0)
GitHub issues: Enabled
Number of forks: 1,828
Total Stargazers: 10,586 (+0)
Total Subscribers: 164 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 180.0 days
Mean response time: 831.9 days
90th percentile: 2640.4 days
Tracked items: 614

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Work labelled "question" is answered fastest, typically in about an hour, while "bug" waits about 3 weeks. Only 3% of issues opened in the past year have been closed. Three people close 96% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 0
Closed in 7 days: 1
Avg open age: 1,676 days
Stale 30+ days: 4
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 1
Comments in 7 days: 0
Events in 7 days: 1

Top labels

  • enhancement (20)
  • question (18)
  • bug (14)
  • compatibility (5)
  • needs more info (5)
  • 9.x (4)
  • unsure (4)
  • breaking change (3)

Most active issues this week

Detailed Description

protobuf.js is a JavaScript implementation of Protocol Buffers that runs in Node.js and browsers without requiring the protoc compiler.

The tool solves the problem of serializing and deserializing structured data in JavaScript environments. It works by parsing .proto schema files directly at runtime or through code generation, enabling message encoding and decoding without external dependencies. The implementation supports runtime reflection, allowing schemas to be loaded and used dynamically, as well as static code generation with TypeScript declarations for projects that prefer ahead-of-time compilation. Field names are converted to camelCase by default, though the keepCase option preserves original naming.

Developers should choose this tool if they need Protocol Buffers support in JavaScript without setting up protoc or managing a separate build step. It suits projects ranging from simple runtime-based serialization to complex applications requiring TypeScript type safety and code generation. The library works in both Node.js and browser environments, with canonical builds distributed via CDN. For teams already invested in protoc workflows, the tool provides a protoc-gen-pbjs plugin as an alternative path.

The project maintains automated build and release workflows. The codebase is written in JavaScript with TypeScript support built in. The maintainer actively solicits sponsorship to sustain ongoing maintenance, bug fixes, and security handling. The tool is independently maintained while accepting contributions from the upstream Protocol Buffers project, indicating coordination with the broader ecosystem.