XML to C#
Generate C# classes/structs automatically from an XML document.
What is XML to C#?
This free online tool turns a sample XML document into a ready-to-use class with public property getters/setters for C#, so you can use this xml to c# class generator tool to go straight from raw XML to a typed C# class without writing the boilerplate yourself. It is built around C#'s actual idiom — a C# class — rather than a generic one-size-fits-all class, and pairs naturally with xsd.exe / XmlSerializer for real-world (de)serialization. Use it for convert xml to c# class or any time you need xsd to c# class, whether you're scaffolding a new C# project or mapping an existing API response.
Technical Execution
Paste or upload a sample XML document and the tool walks its structure field by field, inferring a concrete C# type for each value — mapping basic XML types to `string`, `int`, `bool`, and `double` as appropriate. For nested data, it maps nested XML elements to nested C# classes and repeated elements to `List<T>`, generating `[XmlElement]`/`[XmlAttribute]` attributes so `XmlSerializer` deserializes the same shape the sample XML described. On the naming side, it converts snake_case or lowerCamelCase keys to C#'s PascalCase property convention and adds a `[JsonPropertyName("original_key")]` (or `[JsonProperty]`) attribute so the mapping round-trips correctly. For optional data, fields observed as `null`, or missing from some samples, are typed as nullable value types (`int?`, `bool?`) or left as reference types that already allow null, matching how `System.Text.Json` and Json.NET both deserialize optional data.
Zero Data Storage Guarantee
Everything runs client-side in your browser: the sample XML you paste in — which may contain real field names, endpoint shapes, or structure from a private API or project — is parsed and converted entirely on your device and is never uploaded to any server. Nothing you enter is logged, stored, or transmitted anywhere, so you can safely paste a real payload from an internal or unreleased API to generate an accurate C# class. Closing or refreshing the tab clears everything, since no copy of your data ever left your machine in the first place.
How to Use XML to C# (Step-by-Step Guide)
- Copy a representative sample of your XML (the more fields and nested objects it includes, the more complete the generated C# class will be).
- Paste it into the input panel of the XML to C# tool, or click "Upload" to load it from a xml file.
- Review the auto-detected root name, and rename it if you want the generated C# class to use a specific class or type name instead of the default.
- Click "Generate" to produce the C# C# class, which appears instantly in the output panel with syntax highlighting.
- Click "Copy" to copy the generated code to your clipboard, or "Download" to save it as a `.cs` file.
- Paste the result into your C# project and adjust field names or types if your data has edge cases the sample didn't cover.