Generate a C# class with properties + nullables from JSON. Part of the DevTools Surf developer suite. Browse more tools in the Converters collection.
Use Cases
ASP.NET developers modeling request and response DTOs
Unity game developers parsing JSON save files or server configs
Enterprise teams generating classes for complex SOAP-to-REST migrations
Blazor developers typing API responses for client-side rendering
Tips
Nullable reference types are generated for JSON fields that could be null
Paste complex nested JSON to get a full class hierarchy in one step
Use the output directly with System.Text.Json or Newtonsoft.Json
Fun Facts
C# was originally codenamed 'Cool' (C-like Object Oriented Language) before Microsoft's marketing team chose the musical name C# in 2000.
System.Text.Json, introduced in .NET Core 3.0 (2019), is up to 2x faster than Newtonsoft.Json for serialization because it uses Span<T> and avoids allocations.
Anders Hejlsberg, the creator of C#, also created Turbo Pascal and was the lead architect of Delphi before joining Microsoft.
FAQ
Does it use nullable reference types?
Yes for .NET 6+. Toggle off if you target earlier versions. Optional primitives become `int?`; optional strings become `string?`.
How are arrays handled?
Lists by default (`List<T>`). Toggle to arrays (`T[]`) if your codebase prefers them. Empty arrays infer as `List<object>`; best to fix the sample.
What about property naming?
PascalCase property names with `[JsonPropertyName("original_name")]` attributes when the JSON key doesn't match PascalCase conventions.
Does it support records?
Yes — toggle output style to 'record' for immutable C# records with positional parameters. Great for DTOs in modern .NET.