How to use
- Click Paste to load your JSON from the clipboard.
- Set Root element and choose an Arrays option to match the XML structure you need.
- Check the XML result; click Convert if the button appears for larger input.
- Click Download to save the result as an .xml file.
Examples
Product attributes, price text, and repeated tags
{"product":{"@id":"SKU-1042","name":"Desk lamp","price":{"@currency":"USD","#text":"29.99"},"tags":["lighting","office"]}}<product id="SKU-1042"> <name>Desk lamp</name> <price currency="USD">29.99</price> <tags>lighting</tags> <tags>office</tags> </product>
Product list with custom root and array item names
[{"sku":"MUG-101","name":"Coffee mug","colors":["blue","white"],"discount":null},{"sku":"MUG-102","name":"Travel mug","colors":["black"],"discount":5}]<?xml version="1.0" encoding="UTF-8"?>
<products>
<product>
<sku>MUG-101</sku>
<name>Coffee mug</name>
<colors>
<product>blue</product>
<product>white</product>
</colors>
</product>
<product>
<sku>MUG-102</sku>
<name>Travel mug</name>
<colors>
<product>black</product>
</colors>
<discount>5</discount>
</product>
</products>Inventory keys with spaces and leading digits
{"sku":"CHAIR-204","in stock":12,"1st shipment":"2026-10-15","warehouse/bin":"A/14"}<inventory><sku>CHAIR-204</sku><in_stock>12</in_stock><_1st_shipment>2026-10-15</_1st_shipment><warehouse_bin>A/14</warehouse_bin></inventory>
FAQ
Why won't my JSON convert to XML?
The input must be strict JSON: comments, trailing commas, and single-quoted strings are not accepted. The Invalid JSON panel shows the error location; use Fix it in JSON Validator → to inspect it.
Will large numbers lose precision during conversion?
Numbers are copied exactly as written in your JSON, including 20-digit IDs, decimal notation such as 1.0, and exponent notation such as 1e5.
Is my JSON uploaded or saved?
Conversion runs in your browser, and the tool does not upload your JSON or XML. The input is not saved; option settings are saved in localStorage. Sending text to another tool temporarily uses sessionStorage, and the receiving page removes it when reading.
How large a JSON file can I upload?
Files larger than 50 MB are rejected. Your browser can still run out of memory while processing an accepted file, so try a smaller file if that happens.