A high-performance, zero-allocation JSON serializer for C# that reads/writes directly to UTF8 binary.
Utf8Json is a high-performance JSON serializer for C# that reads and writes directly to UTF8 binary data, avoiding the overhead of string encoding and Stream layers. It is designed to be the fastest JSON serializer for .NET, .NET Core, Unity, and Xamarin, with a focus on zero memory allocation and cross-platform compatibility.
C# developers building high-performance applications, especially those using .NET Core, Unity, or Xamarin, who need efficient JSON serialization for APIs, data storage, or inter-process communication.
Developers choose Utf8Json for its unmatched speed and minimal memory footprint, achieved through direct UTF8 binary processing and optimized algorithms, making it ideal for performance-critical scenarios where other serializers introduce overhead.
Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Serializes and deserializes directly to UTF8 byte arrays, eliminating string encoding overhead and boosting performance, as shown in benchmarks against Jil and Json.NET.
Uses internal memory pools and optimized copy techniques to avoid GC pressure, making it ideal for high-throughput scenarios like web APIs.
Implements custom itoa/atoi and ported google/double-conversion algorithms for efficient number handling without intermediate string parsing.
Employs automata-based property matching from byte slices, reducing the cost of string decoding during JSON parsing.
The original repository is archived with no updates from the maintainer, risking security flaws and compatibility issues with newer .NET versions.
Requires pre-code generation for AOT environments like Unity IL2CPP, adding extra build steps and potential tooling headaches.
JsonReader and JsonWriter are mutable structs with manual state management, making them error-prone compared to higher-level abstractions in other serializers.
Extensions like F# support or ASP.NET Core formatters are available but less mature, and the community fork may have fragmented development.
Utf8Json is an open-source alternative to the following products:
Jil is a fast JSON serializer and deserializer for .NET, designed for high performance and low memory allocation.
Json.NET is a popular high-performance JSON framework for .NET that provides JSON serialization and deserialization functionality.
NetJSON is a data interchange format based on JSON for describing and sharing network configuration, state, and topology information.