AvroConvert 3.4.16
dotnet add package AvroConvert --version 3.4.16
NuGet\Install-Package AvroConvert -Version 3.4.16
<PackageReference Include="AvroConvert" Version="3.4.16" />
<PackageVersion Include="AvroConvert" Version="3.4.16" />
<PackageReference Include="AvroConvert" />
paket add AvroConvert --version 3.4.16
#r "nuget: AvroConvert, 3.4.16"
#:package AvroConvert@3.4.16
#addin nuget:?package=AvroConvert&version=3.4.16
#tool nuget:?package=AvroConvert&version=3.4.16
<p align="center"> <img alt="SolTechnology-logo" src="./docs/logo.png" width="200"> </p>
<h2 align="center"> AvroConvert </h2>
<p align="center"> <a> Rapid Avro serializer for C# .NET </a> </p>
<p align="center"> <a href="https://github.com/AdrianStrugala/AvroConvert"><img src="https://img.shields.io/github/stars/AdrianStrugala/AvroConvert.svg?label=%E2%AD%90%20Stars%20%E2%AD%90&color=yellow&style=flat&logo=github"></a> <a href="https://adrianstrugala.github.io/AvroConvert/"><img src="https://img.shields.io/badge/AvroConvertOnline-Try%20Now-blue.svg?logo=google-chrome"></a> <br> <a href="https://www.nuget.org/packages/AvroConvert"><img src="https://img.shields.io/nuget/v/AvroConvert.svg?logo=nuget"></a> <a href="https://github.com/AdrianStrugala/AvroConvert/actions/workflows/build&test.yml"><img src="https://github.com/AdrianStrugala/AvroConvert/actions/workflows/build&test.yml/badge.svg"></a> <a href="https://www.nuget.org/packages/AvroConvert"><img src="https://img.shields.io/nuget/dt/AvroConvert.svg?label=NuGet%20Downloads&logo=nuget&color=blue"></a> <br>
</p>
Docs
Apache Avro format documentation
First steps with Avro in the .NET
Benefits
Avro format combines readability of JSON and data compression of binary serialization.
| AvroConvert | Apache.Avro | Newtonsoft.Json | |
|---|---|---|---|
| Rapid serialization | ✔️ | ✔️ | ✔️ |
| Low memory allocation | ✔️ | ✔️ | ✔️ |
| Readable schema of data structure | ✔️ | ✔️ | ✔️ |
| Support for C# native objects (Dictionary, List, DateTime...) | ✔️ | ❌ | ✔️ |
| Built-in data encryption | ✔️ | ✔️ | ❌ |
| Support for compression codecs | Deflate<br/> Snappy<br/> GZip<br/> Brotli | Deflate | ❌ |
Introducing Avro to the projects brings three main benefits:
- Reduction of data size and storage cost
- Decrease of the communication time and the network traffic between microservices
- Increased security - the data is not visible in plain text format
Article describing Avro format specification and Avro API idea: https://www.c-sharpcorner.com/blogs/avro-rest-api-as-the-evolution-of-json-based-communication-between-mic
Conclusion: <br> Using Avro for communication between your services significantly reduces data size and network traffic. Additionally choosing encoding (compression algorithm) can improve the results even further.
Features
- Serialization
byte[] avroObject = AvroConvert.Serialize(object yourObject);
<br/>
- Deserialization
CustomClass deserializedObject = AvroConvert.Deserialize<CustomClass>(byte[] avroObject);
<br/>
- Read schema from Avro object
string schemaInJsonFormat = AvroConvert.GetSchema(byte[] avroObject)
<br/>
- Deserialization of large collection of Avro objects one by one
using (var reader = AvroConvert.OpenDeserializer<CustomClass>(new MemoryStream(avroObject)))
{
while (reader.HasNext())
{
var item = reader.ReadNext();
// process item
}
}
- Generation of C# models from Avro file or schema
string resultModel = AvroConvert.GenerateModel(avroObject);
- Conversion of Avro to JSON directly
var resultJson = AvroConvert.Avro2Json(avroObject);
Extended list: <br>
- Serialization of .NET object to Avro format
- Deserialization of Avro data to .NET object
- Other Avro data related operations
- Schema related
License
AvroConvert is licensed under the CC BY-NC-SA 3.0 license.
For commercial use, please purchase a license.
Contribution
We want to improve AvroConvert as much as possible. If you have any idea, found next possible feature, optimization opportunity or better way for integration, leave a comment or pull request.
Thank you a million to all the contributors to the library, including those that raise issues, started conversations, and those who send pull requests. Thank you!
These amazing people have contributed to AvroConvert:
<a href="https://github.com/AdrianStrugala/AvroConvert/graphs/contributors"> <img src="https://contrib.rocks/image?repo=AdrianStrugala/AvroConvert" /> </a>
Related Work
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 was computed. 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 was computed. |
| .NET Framework | net461 was computed. net462 was computed. 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. |
-
.NETStandard 2.0
- BrotliSharpLib (>= 0.3.3)
- IronSnappy (>= 1.3.1)
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 13.0.4)
- Portable.System.DateTimeOnly (>= 6.0.3)
-
net6.0
- BrotliSharpLib (>= 0.3.3)
- IronSnappy (>= 1.3.1)
- Newtonsoft.Json (>= 13.0.4)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on AvroConvert:
| Package | Downloads |
|---|---|
|
Memphis.Client
Memphis.Client SDK intended to make easy integration of Memphis into .NET projects |
|
|
SolTechnology.Avro.Kafka
Library containing extensions for Confluent Kafka platform |
|
|
SolTechnology.Avro.Http
Library containing functionalities, which enable communication between microservices using Avro data format |
|
|
OptimoveSdk.Engager.Integration
SDK for Engagers intergration with Optimove |
|
|
SolTechnology.Core.ApiClient
Resilient HTTP client wrapper with built-in Polly retry policies, exponential backoff, circuit breaker patterns, and Avro serialization support. Simplifies external API integration with production-ready resilience patterns. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 3.4.16 | 59,594 | 9/18/2025 | |
| 3.4.15 | 130,251 | 3/31/2025 | |
| 3.4.14 | 90,439 | 3/19/2025 | |
| 3.4.12 | 38,114 | 3/7/2025 | |
| 3.4.11 | 28,006 | 3/6/2025 | |
| 3.4.10 | 145,745 | 10/21/2024 | |
| 3.4.9 | 162,227 | 9/18/2024 | |
| 3.4.8 | 339,919 | 5/8/2024 | |
| 3.4.7 | 31,113 | 4/26/2024 | |
| 3.4.6 | 66,985 | 3/4/2024 | |
| 3.4.5 | 38,478 | 2/15/2024 | |
| 3.4.4 | 61,188 | 1/16/2024 | |
| 3.4.3 | 116,358 | 12/9/2023 | |
| 3.4.2 | 36,100 | 12/1/2023 | |
| 3.4.1 | 41,883 | 11/11/2023 | |
| 3.4.0 | 59,150 | 9/18/2023 | |
| 3.3.7 | 53,311 | 8/7/2023 | |
| 3.3.6 | 77,641 | 5/29/2023 | |
| 3.3.5 | 35,539 | 5/11/2023 | |
| 3.3.4 | 111,780 | 3/3/2023 | |
| 3.3.3 | 27,582 | 2/28/2023 | |
| 3.3.2 | 48,848 | 2/6/2023 | |
| 3.3.1 | 30,001 | 1/27/2023 | |
| 3.3.0 | 170,071 | 10/11/2022 | |
| 3.2.9 | 105,848 | 6/22/2022 | |
| 3.2.8 | 29,517 | 6/1/2022 | |
| 3.2.7 | 29,624 | 5/23/2022 | |
| 3.2.6 | 27,879 | 5/16/2022 | |
| 3.2.5 | 89,509 | 4/13/2022 | |
| 3.2.4 | 27,845 | 4/10/2022 | |
| 3.2.3 | 57,516 | 10/29/2021 | |
| 3.2.2 | 58,068 | 10/2/2021 | |
| 3.2.1 | 28,135 | 9/29/2021 | |
| 3.2.0 | 35,277 | 9/14/2021 | |
| 3.1.5 | 52,679 | 8/30/2021 | |
| 3.1.4 | 32,983 | 8/12/2021 | |
| 3.1.3 | 34,694 | 8/2/2021 | |
| 3.1.2 | 31,479 | 6/24/2021 | |
| 3.1.1 | 28,186 | 6/14/2021 | |
| 3.1.0 | 53,998 | 5/15/2021 | |
| 3.0.1 | 34,093 | 4/2/2021 | |
| 3.0.0 | 52,112 | 3/26/2021 | |
| 2.7.1 | 83,287 | 2/5/2021 | |
| 2.7.0 | 61,789 | 12/18/2020 | |
| 2.6.3 | 30,181 | 10/25/2020 | |
| 2.6.2 | 27,550 | 10/23/2020 | |
| 2.6.1 | 31,372 | 7/25/2020 | |
| 2.6.0 | 27,611 | 7/22/2020 | |
| 2.5.1 | 28,559 | 6/11/2020 | |
| 2.5.0 | 48,593 | 5/15/2020 | |
| 2.4.1 | 28,529 | 4/14/2020 | |
| 2.4.0 | 28,041 | 3/25/2020 | |
| 2.3.0 | 28,300 | 3/19/2020 | |
| 2.2.2 | 28,163 | 2/7/2020 | |
| 2.2.1 | 27,639 | 2/7/2020 | |
| 2.2.0 | 27,717 | 1/27/2020 | |
| 2.1.0 | 27,629 | 1/16/2020 | |
| 2.0.0 | 27,628 | 1/4/2020 | |
| 1.8.1 | 8,033 | 12/9/2019 | |
| 1.8.0 | 11,060 | 8/30/2019 | |
| 1.7.0 | 7,812 | 8/22/2019 | |
| 1.6.0 | 7,831 | 7/22/2019 | |
| 1.5.1 | 7,956 | 7/14/2019 | |
| 1.5.0 | 7,929 | 7/11/2019 | |
| 1.4.0 | 7,796 | 6/17/2019 | |
| 1.3.0 | 7,828 | 6/4/2019 | |
| 1.2.0 | 7,898 | 6/3/2019 | |
| 1.1.0 | 7,878 | 5/28/2019 | |
| 1.0.1 | 7,932 | 5/21/2019 | |
| 1.0.0 | 28,405 | 4/24/2019 | |
| 0.8.0 | 28,308 | 5/1/2019 | |
| 0.7.0 | 28,454 | 4/22/2019 | |
| 0.6.3 | 28,296 | 4/19/2019 | |
| 0.6.2 | 28,304 | 4/19/2019 | |
| 0.6.1 | 28,305 | 4/19/2019 | |
| 0.6.0 | 28,314 | 4/19/2019 | |
| 0.5.0 | 28,523 | 4/18/2019 | |
| 0.3.0 | 28,816 | 4/11/2019 | |
| 0.2.1 | 8,513 | 4/11/2019 | |
| 0.2.0 | 8,457 | 4/11/2019 | |
| 0.1.0 | 8,735 | 4/10/2019 |