Developer Utilities

JSON to XML Converter

Transform nested JSON objects and arrays into clean, structured, and validated XML with custom root nodes, element tags, and indentation styling.

Indent:
JSON Input Ready
XML Output Waiting
Found This Tool Helpful?

📤 Share it with others.

Convert JSON data into structured XML with the free JSON to XML Converter. Paste your JSON, upload a JSON file, or fetch JSON from a public URL, then convert it to readable XML with customizable root elements, array item tags, indentation, XML declarations, and attribute handling.

The converter also lets you beautify or minify JSON, copy the generated XML, and download the result as an XML file.

How to Convert JSON to XML

Converting JSON to XML takes only a few steps:

  1. Paste or type your JSON into the JSON Input box.
  2. Click Convert JSON to XML.
  3. Review the generated XML in the XML Output panel.
  4. Customize the root element or array item tag if required.
  5. Choose 2 spaces, 4 spaces, tabs, or minified formatting.
  6. Copy the XML or download it as an .xml file.

The converter validates the JSON before processing it and displays an error when the input is not valid JSON.

JSON to XML Example

Input JSON

{
  "product": {
    "name": "Laptop",
    "price": 799,
    "inStock": true
  }
}

Output XML

<?xml version="1.0" encoding="UTF-8"?>
<root>
  <product>
    <name>Laptop</name>
    <price>799</price>
    <inStock>true</inStock>
  </product>
</root>

The converter automatically creates XML elements from JSON keys and converts JSON values into XML text content. Nested JSON objects are represented as nested XML elements.

What Is JSON to XML Conversion?

JSON to XML conversion is the process of transforming data represented in JavaScript Object Notation (JSON) into Extensible Markup Language (XML).

JSON and XML are both commonly used to represent structured data, but they use different formats. JSON uses objects, arrays, key-value pairs, strings, numbers, booleans, and null values, while XML represents information using elements, attributes, and text nodes.

For example, this JSON:

{
  "name": "John",
  "age": 30
}

can be represented in XML as:

<root>
  <name>John</name>
  <age>30</age>
</root>

A JSON to XML converter automates this transformation so you do not have to manually rewrite every property.

Why Convert JSON to XML?

JSON is widely used in modern web applications and APIs, while XML is still important for systems that rely on XML-based data formats, integrations, configurations, and legacy applications.

Converting JSON to XML can be useful when:

  • An application requires XML instead of JSON
  • You need to integrate JSON data with an XML-based system
  • You are working with an XML API
  • You need XML-formatted configuration data
  • You are migrating structured data between systems
  • You need readable XML from a JSON response
  • You want to transform JSON arrays into XML elements
  • You need XML attributes generated from JSON properties

JSON to XML Converter Features

Custom XML Root Element

You can specify the XML root element instead of always using the default root tag. The tool provides a dedicated Root Element field for this purpose.

For example:

<products>
   ...
</products>

instead of:

<root>
   ...
</root>

JSON Array to XML Conversion

JSON arrays are converted into repeated XML elements. You can define the name used for array items with the Array Item Tag option.

For example:

{
  "products": [
    {
      "name": "Laptop"
    },
    {
      "name": "Keyboard"
    }
  ]
}

can become:

<root>
  <products>
    <item>
      <name>Laptop</name>
    </item>
    <item>
      <name>Keyboard</name>
    </item>
  </products>
</root>

You can change item to another tag such as product.

XML Declaration

The converter can include the standard XML declaration:

<?xml version="1.0" encoding="UTF-8"?>

The XML declaration can be turned on or off using the built-in header control.

XML Attributes from JSON

The tool supports converting JSON keys beginning with @ into XML attributes.

For example:

{
  "product": {
    "@id": "1001",
    "name": "Laptop"
  }
}

produces an XML structure containing:

<product id="1001">
  <name>Laptop</name>
</product>

The converter’s attribute parser recognizes @-prefixed keys and converts them into XML attributes when the option is enabled.

XML Text Nodes

The converter also recognizes #text and _text values as XML text content rather than regular child elements.

XML Formatting Options

Choose the output format that works best for your project:

  • 2 Spaces
  • 4 Spaces
  • Tab
  • Minify

The formatting option controls indentation and whether the generated XML contains line breaks and spacing.

Convert JSON to XML from a File

If your JSON is stored in a .json or .txt file, you can use Upload File instead of manually copying the data.

The tool reads the selected file and places its contents into the JSON input before conversion.

This can be useful for converting exported API responses, configuration files, or larger JSON documents.

Fetch JSON from a URL

The Fetch URL option allows you to retrieve JSON from a public URL and convert the returned data into XML.

The target URL must return JSON and allow browser cross-origin requests through CORS.

For example, a public API endpoint can be loaded directly into the converter instead of copying the response manually.

Beautify and Minify JSON Before Conversion

If your JSON is difficult to read, use Beautify JSON to format it with indentation.

If you need a compact representation, Minify JSON removes unnecessary whitespace. Both functions first parse the JSON, so invalid JSON produces an error rather than being silently transformed.

JSON to XML Conversion Rules

Understanding how JSON values are mapped to XML makes the conversion easier to predict.

JSONXML representation
ObjectXML element with child elements
StringXML text
NumberXML text
BooleanXML text
ArrayRepeated XML elements
@keyXML attribute
#text / _textXML text content
nullSelf-closing XML element

The converter escapes XML-sensitive characters such as &, <, >, quotation marks, and apostrophes when creating XML output.

JSON Array to XML Example

JSON

{
  "users": [
    {
      "name": "Alice",
      "email": "[email protected]"
    },
    {
      "name": "Bob",
      "email": "[email protected]"
    }
  ]
}

XML

<root>
  <users>
    <item>
      <name>Alice</name>
      <email>[email protected]</email>
    </item>
    <item>
      <name>Bob</name>
      <email>[email protected]</email>
    </item>
  </users>
</root>

Arrays are processed item-by-item, allowing each array entry to become an XML element.

JSON vs XML

FeatureJSONXML
Basic structureObjects and arraysElements and attributes
SyntaxCompactMore verbose
Human readabilityGenerally conciseHighly structured
AttributesNot nativeSupported
ArraysNativeUsually represented using repeated elements
Common useWeb APIs and applicationsEnterprise integrations, documents, legacy systems
Data conversionCan be converted to XMLCan be converted to JSON

Neither format is universally better. The right format depends on the application, API, integration, or system you are working with.

Who Can Use a JSON to XML Converter?

A JSON to XML converter can be useful for:

  • Web developers working with APIs
  • Software engineers integrating different systems
  • Backend developers transforming API responses
  • QA engineers testing structured data
  • Data engineers transforming datasets
  • Students learning JSON and XML
  • IT professionals working with legacy systems
  • Developers converting configuration or API data

It is especially useful when you already have valid JSON and need an XML representation without manually rebuilding the structure.

Frequently Asked Questions

How do I convert JSON to XML?

Paste valid JSON into the JSON input field and click Convert JSON to XML. The converter parses the JSON and generates the corresponding XML structure. You can then copy or download the result.

Can I convert a JSON array to XML?

Yes. JSON arrays are converted into repeated XML elements. You can also specify the tag used for individual array items.

Can I customize the XML root element?

Yes. Enter your preferred root tag in the Root Element field. If no custom value is supplied, the default root element is root.

Can JSON properties become XML attributes?

Yes. Enable Parse @ Attributes and use JSON keys beginning with @. For example, @id can become an XML id attribute.

Does the converter support nested JSON?

Yes. Nested JSON objects are recursively converted into nested XML elements.

Can I format the generated XML?

Yes. You can choose 2-space indentation, 4-space indentation, tabs, or minified XML.

Can I download the converted XML?

Yes. After conversion, use the Download button. The generated file is saved as converted.xml.

What happens if my JSON is invalid?

The converter validates the input using JSON parsing. If the JSON is invalid, it displays an error instead of performing the conversion.

Can I copy the XML output?

Yes. Click Copy XML to copy the generated XML to your clipboard.