Skip to content
freeonlinefileconvert

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 MB

This is bigger than the free version

You can still do it: convert it now and pay €1.99 only if you want to download the result.

Free covers files up to 50 MB and up to 20 files at a time.

Need it the other way round?XML to JSON

Free · No sign-up · No watermark · Your files never leave your device

JSON to XML in 3 steps

  1. Select your JSON file, or drop it on the box.
  2. Click Convert to XML.
  3. 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.

Related tools

You are one of the first

FreeOnlineFileConvert has just launched. Create a free account now and join our Family & Friends list: the full Pro plan, free for life.

Pro0 €6,99 €
Join for free