</> Format Swapper

JSON · XML · CSV · YAML — convert between any of them

XML to JSON Converter

Turn XML documents into clean, nested JSON. Free, instant, and no signup required.

Input (XML)
Output (JSON)

About XML to JSON conversion

XML is the long-standing format for SOAP web services, Office document internals (docx/xlsx), and schema-validated enterprise data exchange — its attribute and namespace support has no direct JSON equivalent. JSON is the format most HTTP APIs speak by default — compact, ubiquitous in JavaScript environments, and readable by virtually every language's standard library, though it has no comment syntax and no native date type.

Object keys become element names, repeated keys become sibling elements, and any key prefixed with @ becomes an XML attribute ("@id": "42"<item id="42">). A #text key carries mixed text content alongside attributes or child elements.

How to convert XML to JSON

  1. Paste your XML into the left editor, or click sample above it to try example data.
  2. Click Convert. The JSON result appears on the right instantly.
  3. Click copy to copy the result, or download to save it as a file.

Example

Input (XML):

<person>
  <name>Ada Lovelace</name>
  <role>Mathematician</role>
  <active>true</active>
  <skills>math</skills>
  <skills>programming</skills>
</person>

Output (JSON):

{
  "person": {
    "name": "Ada Lovelace",
    "role": "Mathematician",
    "active": "true",
    "skills": [
      "math",
      "programming"
    ]
  }
}

Frequently asked questions

What happens to JSON keys that aren't valid XML tag names? Any character that isn't a letter, digit, underscore, period, or hyphen is replaced with an underscore, and a leading underscore is added if the name would otherwise start with a digit or symbol, since XML tag names can't start with those.
Do I need to create an account? No. There's no signup, login, or account required — paste your data and click Convert.
Is there a file size limit? There's no hard-coded limit, but very large inputs (multi-megabyte files) can slow down or briefly freeze the tab while converting. For big files, converting in smaller chunks works better.
Why did my conversion fail? Check the status line under the Convert button — it reports the exact line and column where the parser stopped, and the input editor highlights that line in red so you can jump straight to it.