XML to Ruby
Generate Ruby classes/structs automatically from an XML document.
What is XML to Ruby?
This free online tool turns a sample XML document into a ready-to-use class (or Struct) with attr_accessor for Ruby, so you can use this xml to ruby class generator tool to go straight from raw XML to a typed class or Struct without writing the boilerplate yourself. It is built around Ruby's actual idiom — a Ruby class — rather than a generic one-size-fits-all class, and pairs naturally with Nokogiri for real-world (de)serialization. Use it for convert xml to ruby object or any time you need nokogiri xml to class, whether you're scaffolding a new Ruby 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 Ruby type for each value — mapping basic XML types to `String`, `Integer`/`Float`, and `true`/`false` as appropriate. For nested data, it maps nested XML elements to nested Ruby classes built with `attr_accessor`, representing repeated elements as arrays, in the same shape Nokogiri's DOM traversal would produce. On the naming side, it keeps snake_case keys as-is since that matches Ruby's idiomatic naming convention, and only renames a key when it isn't a valid Ruby identifier. For optional data, fields observed as `null`, or missing from some sample objects, are simply left unset (Ruby's dynamic typing means `nil` is always a valid value), and the generated initializer uses keyword arguments with `nil` defaults for them.
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 Ruby 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 Ruby (Step-by-Step Guide)
- Copy a representative sample of your XML (the more fields and nested objects it includes, the more complete the generated class or Struct will be).
- Paste it into the input panel of the XML to Ruby 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 Ruby class to use a specific class or type name instead of the default.
- Click "Generate" to produce the Ruby class or Struct, 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 `.rb` file.
- Paste the result into your Ruby project and adjust field names or types if your data has edge cases the sample didn't cover.