JSON and XML organize data differently, so there is no single official one-to-one mapping. This converter uses predictable rules: object keys become element names, nested objects become nested elements, and array values repeat the element for their key. A top-level array uses the item tag from XML options.
For XML attributes, prefix a JSON key with @. For example, {"book":{"@id":"7","#text":"Dune"}} produces a book element with an id attribute and Dune as its text. Reserved XML characters are escaped, and keys that are not valid XML names are encoded into safe tag names. Everything runs locally with no upload or account.