JSON to XML
Turn JSON data into tidy, well-formed XML for systems, feeds and imports that only accept XML.
or drop them here · up to 50 MB per file, free
Bigger files? Pro converts files up to 500 MBOver the free limits: you can unlock the download from €1.99.
Working on it…
Your file is ready
Free · No sign-up · No watermark · Your files never leave your device
JSON to XML in 3 steps
- Select your JSON file, or drop it on the box.
- Click Convert to XML.
- Download the XML file, indented and ready to import.
From JSON to XML without surprises
Many accounting programs, e-commerce feeds, government portals and older enterprise systems still import only XML, while modern apps and APIs speak JSON. This tool writes a well-formed XML file with an XML declaration, UTF-8 encoding and two-space indentation, so it is easy to read and safe to import.
Each key becomes an element and each list becomes the same element repeated. Keys that start with @ become attributes and a #text key becomes the element text, which is how XML to JSON writes them, so the round trip is lossless. Characters such as & and < are escaped, and key names that XML does not allow, like ones with spaces or starting with a digit, are made valid.
Frequently asked questions
How do I convert JSON to XML?
Select your JSON file and click Convert to XML. The tool checks the JSON, builds the XML tree and downloads an indented .xml file. If the JSON has a syntax error, you see the parser message instead, so you know exactly what to fix.
What is the root element of the XML?
XML needs one root element. If your JSON is an object with a single key, such as {"catalog": {...}}, that key becomes the root. Otherwise everything is wrapped in a <root> element, and the entries of a top-level list become <item> elements.
How are JSON arrays converted?
An array becomes the same element repeated once per entry. For example, "book": [{...}, {...}] gives two <book> elements side by side. This is how XML naturally represents lists and what most XML importers expect.
Can I create XML attributes?
Yes. Start a key with @ and it becomes an attribute of its element: {"book": {"@id": 7, "title": "Dune"}} gives <book id="7"><title>Dune</title></book>. A key named #text becomes the text of the element itself.
Is my file uploaded to a server?
No. The JSON is converted inside your browser on your own device, so API responses, product catalogues or customer records never leave your computer. Once the page has loaded, the converter keeps working even without an internet connection.