Protobuf 与 gRPC-Web 测试器

本地编解码 · 可选 gRPC-Web

编译 Proto Schema、编解码消息、检查 Wire 字段、比较契约并调用 gRPC-Web。

粘贴 proto2 或 proto3 Schema……

Schema、JSON 和二进制只留在内存,除非你主动调用端点。

已准备 Protobuf Schema

粘贴或打开 .proto,编译消息、编码真实字节、检查 Wire Format、比较契约并配置 gRPC-Web 调用。

使用方法

  1. 01

    编译 Proto Schema

    粘贴或打开 .proto 文件,浏览消息、枚举、服务、方法、字段号、Map、Repeated 和 Stream。

  2. 02

    检查真实字节

    生成 ProtoJSON、编码为二进制、解码 Hex/Base64,并检查 Tag、Wire Type、Offset、值和原始字节范围。

  3. 03

    比较或调用

    检测高风险字段和 RPC 变化,或主动发送 gRPC-Web 请求并检查消息帧、Trailer、状态与生成的 Fetch 代码。

常见问题

浏览器能直接调用普通 gRPC 端点吗?

通常不能。端点或代理必须实现 gRPC-Web、允许本站 CORS 请求,并按需要暴露 gRPC Status 和 Message Header。

支持哪些流模式?

支持 Unary 请求;grpc-web-text 模式可在响应结束后检查服务端流。这里不支持客户端流和双向流。

为什么 64 位整数显示为字符串?

ProtoJSON 通常以十进制字符串表示 64 位整数,避免 JavaScript 超出安全整数范围后丢失精度。

字段号不变时,重命名或删除字段有影响吗?

重命名可能破坏 JSON 用户,同时保持二进制 Wire 兼容;删除字段却不保留编号或名称会带来未来复用风险,因此 Diff 会明确显示。

继续使用其他专注的浏览器端工具。

全部工具

默认本地处理;远程数据来源会明确说明。

© 2026 Nobuf

Nobuf

由浏览器驱动的快速、本地优先实用工具。