awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com

gRPC Go Tooling and Generators

Ranking updated Jun 30, 2026

For gRPC tooling and code generation for Go, the strongest matches are uber/prototool (Prototool is a comprehensive CLI toolkit for Protocol Buffers), grpc-ecosystem/grpc-gateway (grpc-ecosystem/grpc-gateway generates Go reverse-proxy servers and stubs from gRPC) and gogo/protobuf (gogo/protobuf is a full-featured Protocol Buffers compiler and code). cloudwego/kitex and bufbuild/buf round out the shortlist. Each is ranked by relevance to your query, popularity and recent activity.

Explore essential libraries and code generation utilities for building high-performance gRPC services in Go.

gRPC Go Tooling and Generators

Find the best repos with AI.We'll search the best matching repositories with AI.
  • uber/prototooluber avatar

    uber/prototool

    5,036View on GitHub↗

    Prototool is a development toolkit for Protocol Buffers that provides a suite of tools for linting, formatting, and generating code from schema files. It functions as a system for managing the lifecycle of Protocol Buffer definitions through a command line interface. The toolkit distinguishes itself by providing a breaking change detector that compares different versions of definitions to identify wire or source incompatible changes. It also includes a gRPC client interface capable of invoking endpoints using JSON requests by dynamically compiling Protobuf definitions. The project covers bro

    Prototool is a comprehensive CLI toolkit for Protocol Buffers that handles linting, formatting, and code generation, and includes a gRPC client with JSON-to-gRPC translation and breaking change detection, directly supporting Go gRPC service development and code generation.

    GogRPC API TestinggRPC Command-Line ClientsProtobuf Stub Generators
    View on GitHub↗5,036
  • grpc-ecosystem/grpc-gatewaygrpc-ecosystem avatar

    grpc-ecosystem/grpc-gateway

    19,930View on GitHub↗

    This project is a REST-to-gRPC API gateway and JSON reverse proxy that translates RESTful HTTP requests into gRPC service calls. It functions as a protocol buffer proxy generator, providing the tools necessary to bridge JSON-based HTTP traffic with backend gRPC servers. The system distinguishes itself by automating the creation of reverse-proxy servers and stubs through protobuf-driven code generation. It also includes a dedicated OpenAPI specification generator that produces OpenAPI v2 and v3 documents from gRPC service definitions and annotations. The project covers a broad range of integr

    grpc-ecosystem/grpc-gateway generates Go reverse-proxy servers and stubs from gRPC service definitions, making it a direct fit for gRPC tooling in Go, though it focuses on REST translation rather than covering every feature like standalone stub generation or testing utilities.

    GogRPC API GatewaysHTTP-to-gRPC TranscodingREST to gRPC Translation
    View on GitHub↗19,930
  • gogo/protobufgogo avatar

    gogo/protobuf

    5,669View on GitHub↗

    This project is a Protocol Buffers Go compiler and code generation framework that translates schema definitions into optimized Go structures and reflection-free serialization methods. It includes a gRPC service generator for producing client and server communication code and a serialization performance toolkit for generating automated benchmarks and test suites. The framework features a plugin-based system for transforming data definitions into source code with custom field mapping and struct tag injection. It allows for custom type mapping and struct type overriding to link data fields to sp

    gogo/protobuf is a full-featured Protocol Buffers compiler and code generation framework for Go that directly handles Protobuf compilation, Go code generation, gRPC client/server stub generation, and includes serialization benchmarking and test utilities, making it a strong fit for gRPC service development in Go.

    GoGo Code Generators
    View on GitHub↗5,669
  • cloudwego/kitexcloudwego avatar

    cloudwego/kitex

    7,973View on GitHub↗

    Kitex is a high-performance remote procedure call framework for building distributed microservices in Go. It provides a communication system compatible with gRPC and Protobuf standards and includes a suite of tools for microservices governance. The framework features proxyless service mesh integration, which allows it to manage network traffic and governance directly without adding sidecar proxy latency. It optimizes data throughput through a high-performance communication library that minimizes memory copies. The system covers a broad surface of distributed capabilities, including service d

    Kitex is a Go RPC framework that is fully compatible with gRPC and Protobuf, providing a code generation tool, middleware/interceptor support, and high‑performance microservices capabilities—making it a comprehensive answer for gRPC service development in Go.

    GoGo Microservices ArchitecturesGo RPC FrameworksgRPC Implementations
    View on GitHub↗7,973
  • bufbuild/bufbufbuild avatar

    bufbuild/buf

    11,211View on GitHub↗

    Buf is a toolchain for managing the full lifecycle of Protocol Buffers schemas. It provides a set of tools for schema governance, including linting to enforce style guides, a breaking change detector to ensure backward compatibility, and a system for producing language-specific source code via local or remote plugins. The project distinguishes itself through a remote schema registry that centralizes the hosting, versioning, and distribution of Protocol Buffers modules. This registry allows for server-side enforcement of governance policies, such as blocking updates that introduce backward-inc

    Buf is a protobuf toolchain that manages schema lifecycle and generates Go code via plugins, covering compilation and stub generation for gRPC — a solid match for Go gRPC development, though it does not natively include REST translation or testing utilities.

    GoSchema RegistriesSchema-Driven Code GeneratorsAPI Compatibility Analysis
    View on GitHub↗11,211
  • grpc/grpc-gogrpc avatar

    grpc/grpc-go

    22,962View on GitHub↗

    grpc-go is a Go language implementation of the gRPC framework, providing a remote procedure call library for high-performance service communication. It uses the HTTP/2 protocol to execute functions on remote servers as if they were local methods and utilizes protobuf service bindings to generate type-safe client and server code. The project features a bidirectional streaming transport that supports asynchronous, full-duplex message streams between clients and servers. This networking layer allows for various communication patterns, including client-to-server and server-to-client streaming, to

    grpc/grpc-go is the official Go implementation of the gRPC framework, providing the core library and a code generation plugin for building gRPC services; it directly covers Protobuf compilation, Go code generation, client/server stubs, and interceptors, but does not include built-in REST Gateway translation or dedicated testing utilities.

    GoHTTP/2 Transport LayersRemote Procedure CallsAPI Binding Generators
    View on GitHub↗22,962
  • grpc/grpc-webgrpc avatar

    grpc/grpc-web

    9,229View on GitHub↗

    gRPC-Web is a JavaScript client library that enables browser applications to call gRPC services through an HTTP proxy, using Protocol Buffers for serialization. It provides a browser-based gRPC client that supports unary, server-streaming, and bidirectional streaming RPCs, along with a code generator that produces JavaScript and TypeScript client stubs from .proto service definitions. The library includes an interceptor framework for attaching cross-cutting logic like authentication and retries to client calls, and supports setting Unix timestamp deadlines on RPCs for server-side timeout enfo

    This repository is a gRPC-Web JavaScript client library for browser apps, not a Go-focused tool or code generator for gRPC service development in Go — it compiles stubs for JavaScript/TypeScript, not Go.

    JavaScriptgRPC Interceptor LibrariesProtobuf Stub GeneratorsUnary and Streaming Interceptors
    View on GitHub↗9,229
  • fullstorydev/grpcurlfullstorydev avatar

    fullstorydev/grpcurl

    12,691View on GitHub↗

    grpcurl is a command-line interface and client tool for invoking gRPC methods and inspecting service definitions. It serves as a server debugger and reflection client, allowing users to call remote procedures and verify server responses from the terminal using JSON or protobuf formats. The tool distinguishes itself through the ability to discover available services and methods dynamically via a server reflection service or by loading local protobuf schema files. It can extract service descriptions from a server for local use and print specific schema symbol definitions. It covers a broad ran

    grpcurl is a command-line client for inspecting and invoking gRPC services, useful for debugging and testing, but it does not provide Protobuf compilation, code generation, or stub generation, which are the core development tools you are looking for.

    GogRPC API TestinggRPC Command-Line Clients
    View on GitHub↗12,691
  • grpc-ecosystem/go-grpc-middlewaregrpc-ecosystem avatar

    grpc-ecosystem/go-grpc-middleware

    6,749View on GitHub↗

    go-grpc-middleware is a gRPC middleware framework for Go designed to handle cross-cutting concerns, reliability, and observability. It provides a collection of interceptors that can be used to modify inbound and outbound calls to enforce system-wide policies. The framework distinguishes itself through specialized toolkits for service reliability, including automatic retry logic for failed client calls and panic recovery mechanisms that translate runtime crashes into standard error responses. It also features an observability suite for collecting performance metrics and recording request activ

    This is a gRPC middleware library for Go providing interceptors for authentication, retries, logging, and observability, but it does not handle Protobuf compilation, code generation, or REST translation, so it addresses only the interceptor/middleware aspect of the request rather than the full code-generation tooling.

    GogRPC Interceptor LibrariesUnary and Streaming Interceptors
    View on GitHub↗6,749
  • fullstorydev/grpcuifullstorydev avatar

    fullstorydev/grpcui

    5,907View on GitHub↗

    grpcui is a browser-based interactive web interface and API client for executing remote procedure calls to gRPC servers. It functions as an HTTP to gRPC gateway that translates JSON payloads into binary protobuf messages, allowing users to trigger network requests and inspect responses through a visual web interface. The tool provides schema browsing and discovery capabilities by querying server reflection or loading local protobuf descriptor files to identify available services and method signatures. It uses these definitions to automatically generate dynamic input forms for constructing req

    grpcui is a browser-based interactive client for testing gRPC services, but it does not generate Go code from Protocol Buffers or produce client/server stubs, which is the core of your search for gRPC tooling and code generation.

    JavaScriptgRPC API TestingHTTP-to-gRPC Transcoding
    View on GitHub↗5,907
  • bloomrpc/bloomrpcbloomrpc avatar

    bloomrpc/bloomrpc

    8,998View on GitHub↗

    BloomRPC is a graphical user interface client for discovering, testing, and querying gRPC service endpoints. It functions as an API tester that allows for sending requests and validating responses through a visual interface without the need to write manual client code. The tool supports service discovery via the gRPC reflection API or by parsing protobuf definition files to generate request and response structures. It translates human-readable JSON input into binary protobuf format and utilizes an HTTP/2 transport layer to communicate with backend services. The application provides capabilit

    BloomRPC is a graphical gRPC client for testing endpoints, but it does not generate Go code, compile Protocol Buffers, or provide the development tooling and libraries the visitor needs for gRPC service development in Go.

    TypeScriptgRPC API Testing
    View on GitHub↗8,998
  • techschool/simplebanktechschool avatar

    techschool/simplebank

    6,495View on GitHub↗

    Simplebank is a financial services backend application built with Go that manages bank accounts and transfers. It utilizes a dual-protocol interface, providing both gRPC and REST APIs via Protocol Buffers to support different client communication requirements. The system implements a PostgreSQL data layer with versioned schema migrations and type-safe query generation. It handles financial operations through atomic fund transfers and balance change tracking to maintain consistent audit trails. The architecture includes an asynchronous task worker system using a message queue to offload long-

    Simplebank is a complete backend application that uses gRPC and Protocol Buffers, not a reusable tool or library for generating gRPC code—it demonstrates the technology rather than providing development assistance.

    GoGo Code GeneratorsREST-to-gRPC Gateways
    View on GitHub↗6,495
Compare the top 10 at a glance
RepositoryStarsLanguageLicenseLast push
uber/prototool5KGoMITMar 1, 2022
grpc-ecosystem/grpc-gateway19.9KGoBSD-3-ClauseJun 23, 2026
gogo/protobuf5.7KGoNOASSERTIONJul 27, 2023
cloudwego/kitex8KGoApache-2.0Jun 15, 2026
bufbuild/buf11.2KGoApache-2.0Jun 22, 2026
grpc/grpc-go23KGoApache-2.0Jun 12, 2026
grpc/grpc-web9.2KJavaScriptApache-2.0Jun 9, 2026
fullstorydev/grpcurl12.7KGoMITJun 15, 2026
grpc-ecosystem/go-grpc-middleware6.7KGoApache-2.0Mar 24, 2026
fullstorydev/grpcui5.9KJavaScriptMITJun 15, 2026

Related searches

  • a library for building Go gRPC services
  • a python library for building gRPC services
  • a library for building Rust gRPC services
  • a java library for building gRPC services
  • a library for implementing gRPC in C#
  • a Go framework for building microservices
  • a library for building GraphQL in Go
  • a high performance serialization library for Go