Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR. Learn more →
Top 23 Go Serialization Projects
-
jsoniter
A high-performance 100% compatible drop-in replacement of "encoding/json" (by json-iterator)
Project mention: Go Performance: Pequenas mudanças que ajudam a melhorar o desempenho do seu app | dev.to | 2024-07-30 -
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Project mention: gRPC vs. REST: Understand gRPC, OpenAPI and REST and When to Use in API Design | news.ycombinator.com | 2025-01-22
> timestamppb.New(time) is hard to figure out?
No need to be snarky; that API did not exist when I started using protobuf. https://github.com/golang/protobuf/blame/master/ptypes/times... <-- and you can still see the full code from this era on master because of the migration from `github.com/golang/protobuf` to `google.golang.org/protobuf`, which was a whole other exercise in terrible DX.
-
The Go tooling for gRPC is inexplicably bad, both in terms of ergonomics and in terms of performance.
The GoGoProtobuf [1] project was started to improve both. It would generate nice Go types that followed Go's conventions. And it uses fast binary serialization without needing to resort to reflection.
Unfortunately, the gRPC/Protobuf team(s) at Google is famously resistant to changes, and was unwilling to work with the GoGo. As a result, the GoGo project is now dead. [2]
I've never used Buf, but it looks like it might fix most of the issues with the Go support.
[1] https://github.com/gogo/protobuf
[2] https://x.com/awalterschulze/status/1584553056100057088
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
cbor
CBOR codec (RFC 8949) with CBOR tags, Go struct tags (toarray, keyasint, omitempty), float64/32/16, big.Int, and fuzz tested billions of execs.
Project mention: MessagePack: It's like JSON, but fast and small. | news.ycombinator.com | 2025-01-10 -
karmem
Karmem is a fast binary serialization format, faster than Google Flatbuffers and optimized for TinyGo and WASM.
-
go-capnproto
Cap'n Proto library and parser for go. This is go-capnproto-1.0, and does not have rpc. See https://github.com/zombiezen/go-capnproto2 for 2.0 which has rpc and capabilities.
-
-
-
-
-
-
-
bambam
auto-generate capnproto schema from your golang source files. Depends on go-capnproto-1.0 at https://github.com/glycerine/go-capnproto
-
parco
🏇🏻 generalist, fast and tiny binary parser and compiler generator, powered by Go 1.18+ Generics
-
polyglot
A high-performance serialization framework used for encoding and decoding arbitrary datastructures across languages. (by loopholelabs)
-
-
The xybor-x/enum libray provides elegant, easy-to-use, and powerful solutions for Go enum with no code generation.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Go Serialization discussion
Go Serialization related posts
-
MessagePack: It's like JSON, but fast and small.
-
Go Performance: Pequenas mudanças que ajudam a melhorar o desempenho do seu app
-
Handling high-traffic HTTP requests with JSON payloads
-
How do I marshal a JSON array into a map?
-
Is there any equivalent to pydantic, serde, etc?
-
Rob Pike: Gobs of data (2011)
-
A Journey building a fast JSON parser and full JSONPath
-
A note from our sponsor - CodeRabbit
coderabbit.ai | 24 Mar 2025
Index
What are some of the best open-source Serialization projects in Go? This list will help you:
# | Project | Stars |
---|---|---|
1 | jsoniter | 13,620 |
2 | goprotobuf | 9,898 |
3 | gogoprotobuf | 5,670 |
4 | msgpack | 2,446 |
5 | go-codec | 1,878 |
6 | go-capnp | 1,264 |
7 | hprose | 1,260 |
8 | csvutil | 958 |
9 | cbor | 832 |
10 | karmem | 659 |
11 | go-capnproto | 288 |
12 | watson | 269 |
13 | php_session_decoder | 166 |
14 | structomap | 144 |
15 | binstruct | 100 |
16 | mus-go | 90 |
17 | bebop | 73 |
18 | bambam | 65 |
19 | parco | 58 |
20 | polyglot | 46 |
21 | bel | 44 |
22 | enum | 33 |
23 | fpdecimal | 31 |