grpcui vs grpcurl
grpcui
github.comgrpcurl
github.comSide by side
| Figure | grpcui | grpcurl |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | Yes | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 1 | 1 |
| Spec score · gRPC Tools | 8.0 (#9) | 8.0 (#10) |
| Spec score · API clients | 7.9 (#27) | 8.2 (#20) |
| gRPC support | Yes | Yes |
| Installation | Installation is documented through Homebrew on macOS or Linux and through the Go install command. | The README documents release binaries, Homebrew, Docker, Snap, installation from source, and third-party packages. |
| License | grpcui is released under the MIT license. | The repository identifies its license as MIT. |
| Available platforms | web_and_desktop | The README mentions macOS Homebrew and third-party packages for Windows and Linux distributions. |
| Purpose | grpcui is a command-line tool for interacting with gRPC servers through a browser-based web UI. | grpcurl is a command-line tool for interacting with gRPC servers and invoking RPC methods. |
| Schema discovery | It can browse gRPC service schemas through server reflection, .proto source files, or compiled protoset files. | It can browse service schemas using server reflection, .proto source files, or compiled protoset files. |
Plans
In their own words
grpcui
grpcui is a free, open-source command-line tool for interacting with gRPC servers through a browser-based interface. It is aimed at gRPC APIs rather than REST APIs and can discover service schemas through server reflection, .proto source files, or compiled protoset files. Its interface builds dynamic forms for protobuf messages, including well-known types, oneofs, and maps, and also accepts a complete JSON request body. grpcui supports RPC methods including streaming, then displays response headers, messages or errors, trailers, and readable HTML tables. It connects to plaintext and TLS servers, including mutual TLS with client certificates. Streaming requests have a constraint: they must be constructed all at once, so bidirectional streams cannot be handled interactively like they can with grpcurl. The project also provides Go packages for embedding a form or complete web UI in a Go HTTP server. Installation is documented through Homebrew on macOS or Linux, and through the Go install command. It is released under the MIT license.