Skip to content
SmaftyTools

JSON to XML Converter

Convert JSON to XML or XML back to JSON, with attributes preserved. Free online JSON ↔ XML converter, no signup required.

About JSON to XML Converter

The JSON to XML Converter transforms a JSON object into XML, or an XML document back into JSON, preserving element structure and attributes in both directions. Choose a direction, paste, and get a converted document — no separate encode/decode pages, no writing a one-off script for a format two systems disagree on.

This shows up constantly at integration boundaries: converting a modern JSON API's response into the XML a legacy SOAP service or older enterprise system expects, turning an XML feed or config file into JSON for a JavaScript application to consume more naturally, and quickly checking what a given JSON structure would look like as XML (or vice versa) while designing a data contract between two systems that speak different formats.

Object keys become XML element names, arrays become repeated sibling elements, and — in JSON to XML mode — a key prefixed with `@_` (e.g. `"@_id": "1"`) becomes an XML attribute rather than a child element, which is how attributes are round-tripped when converting XML to JSON and back. Because JSON requires a single root value but XML requires a single root element, JSON input should have exactly one top-level key that becomes that root element — `{"book": {...}}` converts cleanly to `<book>...</book>`, while multiple top-level keys would produce multiple XML root nodes, which isn't valid XML.

XML input is validated for well-formedness before conversion, so a mismatched tag or malformed attribute is caught with a specific error rather than producing corrupted JSON. Nested elements convert to nested JSON objects at any depth, and repeated sibling tags at the same level automatically become a JSON array rather than overwriting each other — the same structural rules a hand-written XML-to-JSON mapping would need to implement, applied automatically. Conversion happens entirely in your browser using the same parsing engine as the XML Formatter / Validator, so integration payloads and config data never leave your device.

How to Use the JSON to XML Converter

  1. Choose a direction: JSON → XML or XML → JSON.
  2. Paste your JSON object or XML document.
  3. Copy or download the converted result.

Features

  • Bidirectional JSON ↔ XML conversion
  • Attributes preserved via the @_ prefix convention
  • Arrays convert to repeated sibling elements
  • XML input validated for well-formedness before conversion

Examples

Converting JSON to XML

Input

{
  "book": {
    "title": "XML Basics",
    "price": 9.99
  }
}

Output

<book>
  <title>XML Basics</title>
  <price>9.99</price>
</book>

Converting XML back to JSON

Input

<book><title>XML Basics</title><price>9.99</price></book>

Output

{
  "book": {
    "title": "XML Basics",
    "price": 9.99
  }
}

Frequently Asked Questions

How are XML attributes represented in JSON?

An XML attribute like `id="1"` becomes a JSON key prefixed with @_ , e.g. "@_id": "1", alongside the element's other children. This convention round-trips cleanly in both directions.

Why does my JSON need a single top-level key?

XML documents must have exactly one root element, but a JSON object can have several top-level keys. Wrap your data in a single root key (e.g. {"root": {...}}) before converting to XML.

What happens to JSON arrays when converting to XML?

Each array item becomes a separate XML element with the same tag name as the array's key — a JSON array "item": ["a", "b"] becomes two sibling <item> elements, since XML has no native array concept.

Is the JSON to XML converter free?

Yes, the JSON to XML converter is completely free with no usage limits. No signup, no account and no installation required.

Is my data safe?

Yes. All processing happens locally in your browser using JavaScript — nothing you type is uploaded or stored on our servers.