protobuf-net
3.4.14
Prefix Reserved
dotnet add package protobuf-net --version 3.4.14
NuGet\Install-Package protobuf-net -Version 3.4.14
<PackageReference Include="protobuf-net" Version="3.4.14" />
<PackageVersion Include="protobuf-net" Version="3.4.14" />
<PackageReference Include="protobuf-net" />
paket add protobuf-net --version 3.4.14
#r "nuget: protobuf-net, 3.4.14"
#:package protobuf-net@3.4.14
#addin nuget:?package=protobuf-net&version=3.4.14
#tool nuget:?package=protobuf-net&version=3.4.14
protobuf-net
A contract-based serializer for .NET that reads and writes Google's "protocol buffers" wire format.
The API follows normal .NET patterns — broadly comparable to XmlSerializer or DataContractSerializer —
so you annotate the types you already have:
[ProtoContract]
public class Person
{
[ProtoMember(1)] public int Id { get; set; }
[ProtoMember(2)] public string Name { get; set; }
}
using var file = File.Create("person.bin");
Serializer.Serialize(file, new Person { Id = 12345, Name = "Fred" });
Members are identified on the wire by number, not by name, so the numbers matter: pick them once and keep
them stable. Everything the attributes do can also be configured at runtime, via RuntimeTypeModel.
Contract-first works too: generate C#/VB from a .proto schema at build time, from the command line with
protobuf-net.Protogen, or in your browser at
protobuf-net.dev.
Build tools — analyzers that check your contracts, and the generator that emits serializers at compile time
so native AOT and trimming work — ship with this package by default;
opt out with <ProtoBufDisableBuildTools>true</ProtoBufDisableBuildTools>.
More
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- protobuf-net.Core (>= 3.4.14)
-
.NETStandard 2.0
- protobuf-net.Core (>= 3.4.14)
- System.Reflection.Emit (>= 4.7.0)
- System.Reflection.Emit.Lightweight (>= 4.7.0)
-
.NETStandard 2.1
- protobuf-net.Core (>= 3.4.14)
-
net8.0
- protobuf-net.Core (>= 3.4.14)
NuGet packages (991)
Showing the top 5 NuGet packages that depend on protobuf-net:
| Package | Downloads |
|---|---|
|
App.Metrics.Formatters.Prometheus
App Metrics Formatting, formatting metrics data to Prometheus formats. |
|
|
ProtoBufJsonConverter
Convert a protobuf message to a JSON string or object (and back) using the proto definition file. |
|
|
protobuf-net.Grpc
Code-first gRPC for .NET: declare services as .NET interfaces, with no .proto file and no generated client; shared core for clients and servers |
|
|
EventStore.Client
The legacy TCP client API for Event Store. Get the open source or commercial versions of Event Store server from https://eventstore.com/ |
|
|
protobuf-net.Grpc.Reflection
Generates .proto schemas from code-first gRPC contracts, and implements the gRPC reflection service |
GitHub repositories (205)
Showing the top 20 popular GitHub repositories that depend on protobuf-net:
| Repository | Stars |
|---|---|
|
microsoft/semantic-kernel
Integrate cutting-edge LLM technology quickly and easily into your apps
|
|
|
QuantConnect/Lean
Lean Algorithmic Trading Engine by QuantConnect (Python, C#)
|
|
|
JosefNemec/Playnite
Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games.
|
|
|
aspnetboilerplate/aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
|
|
|
dotnet/orleans
Cloud Native application framework for .NET
|
|
|
quasar/Quasar
Remote Administration Tool for Windows
|
|
|
PixiEditor/PixiEditor
PixiEditor is a Universal Editor for all your 2D needs
|
|
|
MessagePack-CSharp/MessagePack-CSharp
Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]
|
|
|
andrewmd5/Borderless-Gaming
Play your favorite games in a borderless window; no more time consuming alt-tabs.
|
|
|
Facepunch/sbox-public
s&box is a modern game engine, built on Valve's Source 2 and the latest .NET technology, it provides a modern intuitive editor for creating games
|
|
|
ServiceStack/ServiceStack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
|
|
|
anjoy8/Blog.Core
💖 ASP.NET Core 8.0 全家桶教程,前后端分离后端接口,vue教程姊妹篇,官方文档:
|
|
|
Cysharp/MemoryPack
Zero encoding extreme performance binary serializer for C# and Unity.
|
|
|
stratumauth/app
📱 Two-Factor Authentication (2FA) client for Android + Wear OS
|
|
|
PCL-Community/PCL-CE
PCL 社区版 由社区开发者维护与管理
|
|
|
huynhsontung/Screenbox
LibVLC-based media player for the Universal Windows Platform
|
|
|
ZiggyCreatures/FusionCache
FusionCache is an easy to use, fast and robust hybrid cache with advanced resiliency features.
|
|
|
0x90d/videoduplicatefinder
Video Duplicate Finder - Crossplatform
|
|
|
linq2db/linq2db
Linq to database provider.
|
|
|
SteamRE/DepotDownloader
Steam depot downloader utilizing the SteamKit2 library.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.4.14 | 0 | 8/21/2026 |
| 3.4.0 | 2,560 | 8/20/2026 |
| 3.3.21 | 13,799 | 8/17/2026 |
| 3.3.8 | 39,636 | 8/11/2026 |
| 3.3.0 | 1,133 | 8/11/2026 |
| 3.2.56 | 10,593,901 | 7/31/2025 |
| 3.2.55 | 110,281 | 7/27/2025 |
| 3.2.52 | 18,123,649 | 4/11/2025 |
| 3.2.46 | 5,250,907 | 1/24/2025 |
| 3.2.45 | 9,547,536 | 10/23/2024 |
| 3.2.30 | 26,120,834 | 9/27/2023 |
| 3.2.26 | 6,752,868 | 5/25/2023 |
| 3.2.16 | 3,085,418 | 3/17/2023 |
| 3.2.12 | 707,289 | 3/4/2023 |
| 3.2.8 | 107,479 | 2/27/2023 |
| 3.2.0 | 221,117 | 2/20/2023 |
| 3.1.33 | 4,088,341 | 1/30/2023 |
| 2.4.9 | 786,439 | 2/10/2025 |