Skip to main contentSkip to navigationSkip to searchSkip to footer

How to Convert XML to JSON Online — Free Converter (2026)

Convert XML to JSON online — paste your XML and get clean, formatted JSON instantly. Handles attributes, namespaces, and YAML export. No sign-up, free forever.

NextUtils Team
7 min read
📚Tutorials
xmljsonxml-to-jsondata-conversiondeveloper-tools
Developer tools and data conversion experts

Quick Answer

  1. Open the NextUtils XML to JSON Converter.
  2. Paste your XML into the input panel or upload an .xml file (up to 10 MB).
  3. Choose your output format — JSON, YAML, or XML.
  4. Click Convert (or press Ctrl+Enter).
  5. Copy the result to clipboard or download it as a file.

Convert XML to JSON Instantly — Free

Paste or upload any XML document and get clean, formatted JSON in under a second — runs entirely in your browser, no sign-up needed.

Open XML to JSON Converter →

XML is still everywhere — REST APIs that predate the JSON era, enterprise integrations, RSS and Atom feeds, configuration files, and data exports from tools like Excel and SAP. The problem is that XML is verbose, hard to traverse in JavaScript, and incompatible with most modern data pipelines that expect JSON. An XML to JSON converter closes that gap in seconds without writing a single line of code.

This guide walks through everything you need to know: how the conversion works, how XML attributes and namespaces map to JSON keys, the reverse JSON-to-XML direction, and when YAML makes more sense than JSON as your output format.

Why Convert XML to JSON?

JSON has become the default interchange format for web APIs and front-end applications for good reasons: it maps directly to JavaScript objects, arrays, strings, and numbers without any parser overhead. XML, by contrast, requires a dedicated DOM or SAX parser, treats everything as a string unless you specify types, and wraps values in tag pairs that double the byte count of your payload.

Converting XML to JSON is the first step in most XML-to-modern-stack migrations. Common triggers include:

  • Modernising legacy APIs: SOAP and older REST endpoints return XML. Converting to JSON lets you feed the data into React, Vue, or any JavaScript framework without an XML parser dependency.
  • Processing RSS and Atom feeds: News aggregators, podcast apps, and content pipelines typically ingest XML feeds and need them in JSON for storage or further transformation.
  • Config file migration: Maven pom.xml, Android layouts, and Spring Boot configs are XML-based. JSON or YAML equivalents are easier to read and write for most developers.
  • Data export normalisation: Spreadsheet exports, ERP data dumps, and EDI documents often arrive as XML. JSON normalises them for import into databases or analytics tools.

XML vs JSON: Side-by-Side

The same data looks very different in the two formats. Here is a simple bookstore record showing how XML elements, attributes, and text nodes map to JSON.

XML input

<bookstore>
  <book id="1" lang="en">
    <title>Clean Code</title>
    <author>Robert Martin</author>
    <price currency="USD">34.99</price>
  </book>
</bookstore>

JSON output

{
  "bookstore": {
    "book": {
      "@_id": "1",
      "@_lang": "en",
      "title": "Clean Code",
      "author": "Robert Martin",
      "price": {
        "@_currency": "USD",
        "#text": "34.99"
      }
    }
  }
}
FeatureXMLJSON
SyntaxTag pairs (<tag>value</tag>)Key-value pairs ({"key": "value"})
AttributesBuilt-in (<tag attr="x">)Simulated via @_ prefix convention
ArraysRepeated same-name elementsNative array syntax []
CommentsSupported (<!-- -->)Not supported
NamespacesSupported (xmlns:prefix)No native support
Data typesAll strings (typed by schema)String, number, boolean, null, array, object
VerbosityHigh (tags repeat)Low (compact)
Browser parseDOMParser / XMLSerializerJSON.parse / JSON.stringify

Step-by-Step: How to Convert XML to JSON

The NextUtils XML to JSON Converter needs no installation and runs entirely in your browser. Here is the full workflow:

1

Open the converter

Go to the XML to JSON Converter. You will see a split-panel layout: XML input on the left, JSON output on the right.

2

Add your XML

Paste XML directly into the input panel or click Upload to load an .xml file (up to 10 MB). To try the tool immediately, press Ctrl+L to load a sample bookstore document.

3

Configure options (optional)

Click the Options toggle to expand the settings panel. Key settings: Direction (XML → JSON or JSON → XML), Output Format (JSON or YAML), Indent Size (1, 2, 4, or 8 spaces), Include Attributes, Attribute Prefix (@_ by default), and Trim Whitespace.

4

Convert

Click the Convert button or press Ctrl+Enter. The output appears in the right panel. A stats bar shows input size, output size, and processing time in milliseconds.

5

Copy or download

Use the Copy button to send the JSON to your clipboard, or click Download to save it as converted.json (or converted.yaml / converted.xml depending on your format choice).

Tip: The converter keeps the last 10 conversions in the history panel. Click any entry to restore the input and output — useful if you need to switch between several XML documents.

Understanding Attributes and Text Nodes in JSON

The trickiest part of XML-to-JSON conversion is attributes. Unlike child elements, XML attributes have no direct JSON equivalent. The converter uses two conventions to handle them:

Attribute prefix (@_)

Any attribute on an XML element is mapped to a JSON key with the @_ prefix. For example, <book id="1"> becomes "@_id": "1" in JSON. You can change the prefix or disable attribute parsing in the Options panel.

Text node key (#text)

When an element has both attributes and a text value — like <price currency="USD">34.99</price> — JSON cannot represent the value as a plain string because the attribute needs a sibling key. The converter uses #text for the element value: {"@_currency": "USD", "#text": "34.99"}. You can customise this key name in Options.

Namespace prefixes

XML namespaces like soap:Body are preserved in the JSON output as-is by default. If your JSON consumer does not understand namespaces, enable the Remove Namespace Prefixes option to strip them and output plain key names.

Note: The @_ prefix and #text key names are conventions from the fast-xml-parser library. If you are writing code to consume this JSON, read the attribute names dynamically or configure the parser to match your naming preferences before production use.

Reverse Conversion: JSON to XML

The converter is fully bidirectional. To go from JSON back to XML, open the Options panel and set Direction to JSON → XML. The output format automatically switches to XML.

If your JSON uses the @_ attribute prefix convention, those keys will be emitted as XML attributes rather than child elements. This makes it straightforward to round-trip data: XML → JSON → edit → JSON → XML without losing attribute information.

JSON input

{
  "person": {
    "@_id": "42",
    "name": "Jane",
    "role": "engineer"
  }
}

XML output

<person id="42">
  <name>Jane</name>
  <role>engineer</role>
</person>

Output as YAML Instead of JSON

YAML is a superset of JSON that replaces braces and quotes with indentation and bare strings. It is the preferred format for Kubernetes manifests, Ansible playbooks, GitHub Actions workflows, and many other DevOps configuration files. If you are converting XML config to a cloud deployment format, YAML output saves you a second transformation step.

To enable YAML: open Options, set Output Format to YAML. The same XML is converted to:

bookstore:
  book:
    "@_id": "1"
    "@_lang": en
    title: Clean Code
    author: Robert Martin
    price:
      "@_currency": USD
      "#text": "34.99"
Output formatBest forFile extension
JSONAPIs, databases, JavaScript apps, REST consumers.json
YAMLConfig files, Kubernetes, Ansible, CI/CD pipelines.yaml
XML (reformatted)Re-indenting or normalising existing XML.xml

Practical Examples

Here are the three most common scenarios where an online XML to JSON converter pays for itself immediately — no code, no libraries, no setup.

🔗

SOAP API response

You are calling a legacy SOAP endpoint and need to extract data into a JavaScript object. Paste the XML envelope into the converter, grab the JSON, and use it directly in your fetch handler or store it in your database.

📡

RSS / Atom feed parsing

News sites, podcasts, and content aggregators use RSS and Atom feeds — both XML-based. Convert the feed to JSON and load it into a frontend without importing an XML parsing library.

⚙️

Config file migration

Moving a project from Maven or Spring XML config to a modern format? Convert to JSON first to see the full structure, then reshape it to match your target schema (package.json, application.yaml, etc.).

📊

Data export normalisation

ERP systems and BI tools often export reports as XML. Convert to JSON or YAML before loading into Python, Node.js, or a data pipeline — no XML parser dependency required.

Frequently Asked Questions

What is the difference between XML and JSON?

XML uses opening and closing tag pairs to structure data and natively supports attributes, comments, and namespaces. JSON uses curly-brace objects and square-bracket arrays and is more compact. Most modern web APIs prefer JSON because JavaScript can parse it natively with JSON.parse().

How are XML attributes handled when converting to JSON?

Attributes are mapped to JSON keys with an @_ prefix by default (e.g. id="1" becomes "@_id": "1"). If an element has both an attribute and a text value, the text is stored under the "#text" key. You can customise or disable this behaviour in the Options panel.

Is my data safe when I use this online converter?

Yes — the conversion runs entirely in your browser using JavaScript. Nothing is sent to any server. The tool even works offline after the page has loaded, making it safe for sensitive or proprietary XML documents.

Can I convert JSON back to XML?

Yes. Open the Options panel, set Direction to JSON → XML, paste or upload your JSON, and click Convert. JSON keys using the @_ prefix will be emitted as XML attributes, preserving the original structure.

Can I convert XML to YAML instead of JSON?

Yes. Set Output Format to YAML in the Options panel. This is useful for Kubernetes manifests, Ansible playbooks, and other DevOps config files that use YAML syntax.

What is the maximum file size for XML conversion?

Files up to 10 MB are supported. This covers the vast majority of real-world XML documents — API responses, RSS feeds, and config files are typically well under 1 MB. Very large data dumps may require a server-side solution.

Convert your XML to JSON right now — Free

No software, no sign-up, no file size limits for typical documents — just paste your XML and download clean JSON or YAML in one click.

Open XML to JSON Converter →

Try These Free Tools

Share this article

Related Articles

Continue exploring with these related posts

Ready to try our tools?

Explore our collection of free online tools for developers, designers, and power users.

Explore All Tools

Explore More Tools

Discover our collection of free online tools for developers, designers, and power users