Sunday, October 25, 2026 4,350 lists 78,100 records on file
List your app or device

  1. Home
  2. gRPC Tools
  3. protoc-gen-doc

protoc-gen-doc

What it is

protoc-gen-doc creates reference documentation from comments in Protocol Buffers .proto files. Used as a plugin with protoc through the --doc_out and --doc_opt options, it supports proto2 and proto3, including files that use both. Output can be generated as HTML, JSON, DocBook, or Markdown, with comments describing files, messages, fields, services, methods, enums, values, and extensions. Path patterns can exclude files, and comments marked with the @exclude prefix can be left out. For customization, users can provide a Go template; a stylesheet.css file beside the output can change HTML styling. The source_relative option puts generated files in the same relative directory as their inputs. Installation options include Go, prebuilt releases, a Docker image, and a Maven Central package. It runs on Linux, macOS, and Windows and is self-hosted. The software is free under the MIT License, which permits use and modification under its terms and provides it without warranty. The repository lists no security policy or published advisories.

For and against

For

  • Generates HTML, JSON, DocBook, and Markdown.
  • Supports proto2 and proto3 together.
  • Custom Go templates and CSS allow output changes.
  • Offers Go, Docker, prebuilt, and Maven installation paths.

Against

  • Self-hosted deployment is required.
  • The MIT License provides the software without warranty.
  • The repository lists no security policy or published advisories.

The verdict

protoc-gen-doc is a focused option for generating reference material from Protocol Buffers comments, with several output formats and filtering controls. Its self-hosted setup and lack of a published security policy are relevant considerations for teams evaluating it.

Who it suits

It suits teams and developers who maintain Protocol Buffers definitions and want documentation generated from their comments. It can also fit projects that need control over output formats, styling, or which files and comments are included.

Plans and prices

MIT-licensed software

Free

Use, copy, modify, merge, publish, distribute, sublicense, and sell under the MIT License · provided “AS IS” without warranty

Every plan, in full

On the record

Comment filtering
Comments prefixed with @exclude can be omitted from generated documentation.github.com · read 8 Oct 2026
Customization
Users can supply a custom Go template and can customize HTML output with a stylesheet.css file.github.com · read 4 Oct 2026
Custom templates
The output format can be a custom Go template, and CSS placed beside the output file can customize HTML appearance.github.com · read 8 Oct 2026
Deployment
The README describes a Docker image with /out and /protos volumes for documentation output and proto inputs.github.com · read 8 Oct 2026
Documentable elements
Comments can document files, messages, fields, services and methods, enums and values, and extensions.github.com · read 8 Oct 2026
Filtering
The plugin supports excluding files by path patterns and excluding comments with the @exclude prefix.github.com · read 4 Oct 2026
Installation
The project offers a Docker image, Go installation, prebuilt releases, and a Maven Central package.github.com · read 4 Oct 2026
Install options
The README documents installation with Go, prebuilt releases, a Docker image, and Maven Central.github.com · read 8 Oct 2026
Integration
The plugin is invoked through protoc using the --doc_out and --doc_opt options.github.com · read 8 Oct 2026
License
The software is distributed under the MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its terms.github.com · read 4 Oct 2026
License and warranty
The project uses the MIT License, which provides the software “AS IS” without warranty.github.com · read 8 Oct 2026
Maintainer
The GitHub profile identifies the maintainer as David Muto and lists Ottawa, Ontario, Canada.github.com · read 8 Oct 2026
Output formats
It can generate HTML, JSON, DocBook, and Markdown documentation from comments in .proto files.github.com · read 8 Oct 2026
Output path option
The source_relative flag writes generated output in the same relative directory as the input file.github.com · read 4 Oct 2026
Proto support
It supports proto2 and proto3, including both in the same context.github.com · read 8 Oct 2026
Purpose
protoc-gen-doc is a documentation generator plugin for the Google Protocol Buffers compiler.github.com · read 8 Oct 2026
Release
The releases page lists v1.5.1 as the latest release and shows its tag as signed with a verified committer signature.github.com · read 8 Oct 2026
Release platforms
The v1.0.0 release notes say the program was ported to Go and precompiled for Linux, OSX, and Windows.github.com · read 8 Oct 2026

Alternatives to protoc-gen-doc

Every alternative, ranked