Popular high-performance JSON framework for .NET

World-class JSON Serializer

Serialize and deserialize any .NET object with Json.NET's powerful JSON serializer.


Create, parse, query and modify JSON using Json.NET's JObject, JArray and JValue objects.


Query JSON with an XPath-like syntax. Find out more about JSON Path here.

High Performance

50% faster than DataContractJsonSerializer, and 250% faster than JavaScriptSerializer.

Easy To Use

Json.NET makes the simple easy and the complex possible.

XML Support

If you need it, Json.NET supports converting between XML and JSON.

Open Source

Json.NET is open source software and is completely free for commercial use.

Run Anywhere

Json.NET supports Windows, MacOS, Linux, Mono, and Xamarin.

Most Popular .NET library

Over 1 billion downloads and counting, Json.NET is the number one library on NuGet.

Json.NET Documentation

Json.NET documentation is the first place to go for help. It includes over 100 code samples.

Stack Overflow

Stack Overflow has an active Json.NET community and is a great place to ask questions.

Json.NET is open source under the MIT license and is free for commercial use.

Thanks to Allie Brosh for all the things.

70 Json.NET
26 DataContractJsonSerializer
12 JavaScriptSerializer
Json.NET DataContractJsonSerializer JavaScriptSerializer
Supports JSON  Tick  Tick  Tick
Supports BSON  Tick  Cross  Cross
Supports JSONPath  Tick  Cross  Cross
Supports .NET 2.0  Tick  Cross  Cross
Supports .NET 3.5  Tick  Tick  Tick
Supports .NET 4.0  Tick  Tick  Tick
Supports .NET 4.5  Tick  Tick  Tick
Supports Silverlight  Tick  Tick  Cross
Supports Windows Phone  Tick  Tick  Cross
Supports Windows Store  Tick  Tick  Cross
Supports Xamarin  Tick  Tick  Cross
Open Source  Tick  Tick  Cross
MIT License  Tick  Tick  Cross
LINQ to JSON  Tick  Cross  Cross
Thread Safe  Tick  Tick  Tick
XPath-like JSON query syntax  Tick  Cross  Cross
Indented JSON support  Tick  Cross  Cross
Deserializes IList, IEnumerable, ICollection, IDictionary properties  Tick  Cross  Cross
Serializes circular references  Tick  Cross  Cross
Supports serializing objects by reference  Tick  Cross  Cross
Deserializes polymorphic properties and collections  Tick  Tick  Tick
Supports including type names with JSON  Tick  Tick  Tick
Globally customize serialization process  Tick  Tick  Cross
Supports excluding null values when serializing  Tick  Cross  Cross
Supports SerializationBinder  Tick  Cross  Cross
Conditional property serialization  Tick  Cross  Cross
Includes line number information in errors  Tick  Tick  Cross
Converts XML to JSON and JSON to XML  Tick  Tick  Cross
Camel case JSON property names  Tick  Cross  Cross
Non-default constructors support  Tick  Cross  Cross
Serialization error handling  Tick  Cross  Cross
Supports populating an existing object  Tick  Cross  Cross
Efficiently serializes byte arrays as base64 text  Tick  Cross  Cross
Handles NaN, Infinity, -Infinity and undefined  Tick  Cross  Cross
Handles JavaScript constructors  Tick  Cross  Cross
Serializes .NET 4.0 dynamic objects  Tick  Cross  Cross
Serializes ISerializable objects  Tick  Cross  Cross
Supports serializing enums to their text name  Tick  Cross  Cross
JSON recursion limit support  Tick  Tick  Tick
Attribute property name customization  Tick  Tick  Cross
Attribute property order customization  Tick  Tick  Cross
Attribute property required customization  Tick  Tick  Cross
Supports ISO8601 dates  Tick  Cross  Cross
Supports JavaScript constructor dates  Tick  Cross  Cross
Supports Microsoft AJAX dates  Tick  Tick  Tick
Unquoted property names support  Tick  Cross  Cross
Raw JSON support  Tick  Tick  Cross
Supports reading and writing comments  Tick  Cross  Cross
Deserializes anonymous types  Tick  Cross  Cross
Opt-in property serialization  Tick  Tick  Cross
Opt-out property serialization  Tick  Cross  Tick
Efficiently stream reading and writing JSON  Tick  Tick  Cross
Single or double quote JSON content  Tick  Cross  Cross
Supports overriding a type's serialization  Tick  Cross  Tick
Supports OnDeserialized, OnSerializing, OnSerialized and OnDeserializing attributes  Tick  Tick  Cross
Supports serializing private properties  Tick  Tick  Cross
DataMember attribute support  Tick  Tick  Cross
MetdataType attribute support  Tick  Cross  Cross
DefaultValue attribute support  Tick  Cross  Cross
Serializes DataSets and DataTables  Tick  Cross  Cross
Serailizes Entity Framework  Tick  Cross  Cross
Serializes nHibernate  Tick  Cross  Cross
Case-insensitive property deserialization  Tick  Cross  Cross
Diagnostic tracing  Tick  Tick  Cross
Serializes read-only and immutable collections  Tick  Cross  Cross
Supports serialization extension data  Tick  Tick  Cross
Serializes F# discriminated unions  Tick  Cross  Cross
Serializes F# collections  Tick  Cross  Cross
Supports merging JSON  Tick  Cross  Cross