Skip to main content

XML to JSON converter

Turn an XML document into JSON, keeping or dropping attributes.

Processed in your browser. This file is converted on your device and is never uploaded.

Converter

Input

.xml up to 25 MB. You can also drag a file here.

Options
JSON has no attributes, so they need a naming convention.
Turn off for a smaller single-line file.

No file selected.

About this tool

XML arrives from legacy APIs, RSS feeds, sitemaps, and exported office documents, and most modern code would rather work with JSON. This tool parses an XML document and writes the equivalent JSON.

XML attributes have no direct JSON counterpart, so you decide up front whether to keep them under prefixed keys or drop them entirely.

Supported formats and limits

Input
.xml
Output
.json (application/json)
Output name
The original name with the new extension, for example data.xml becomes data.json.
File size limit
25 MB
Processing
In your browser. The file is not uploaded.

XML against JSON

XML and JSON compared, feature by feature
FeatureXMLJSON
Stored asPlain text, readable in any editorPlain text, readable in any editor
What it can holdValues nested inside valuesValues nested inside values
Numbers stay numbersNoYes
CommentsYesNo
Several in one fileNoNo
Published19982001

How to use it

  1. Choose an .xml file, or switch to Paste text and paste the document directly.
  2. Decide how attributes should be handled.
  3. Choose whether to indent the JSON.
  4. Select Convert, then download the .json file.

Limitations

  • The conversion is not perfectly reversible. XML carries distinctions JSON cannot express, including attribute versus element, node ordering across different element names, and mixed content.
  • A repeated element becomes an array, but an element that appears exactly once becomes a single value. Code reading the result has to handle both shapes.
  • Mixed content, where text and child elements sit side by side in the same element, is not represented faithfully.
  • Comments, processing instructions, and DTDs are discarded.
  • Namespace prefixes are kept as part of the key name; they are not resolved to their URIs.
  • Values stay as strings, so numeric-looking text is not converted to numbers.

Common problems

The file was refused before anything started.

XML to JSON converter checks the extension before it reads a byte, and it accepts .xml. Browsers report file types inconsistently enough that the extension is what decides.

Rename the file if the extension is simply wrong, or convert it to one of those first. A file whose extension does not match its contents is refused for the same reason, and that one needs converting rather than renaming.

It said the file was too large.

The limit here is 25 MB. It is not a policy but a measurement: everything runs on your own device, and past that size a phone runs out of memory rather than finishing slowly.

Split the file, reduce it before converting, or use a desktop program for that one. A machine with more memory will manage more, but the limit does not know which machine it is on.

I selected several files and only one converted.

This tool takes one file at a time. Doing several at once would multiply the memory in use, which is the thing most likely to fail on a phone.

Convert them one after another. Nothing is kept between them, so there is no state to reset.

The tab reloaded itself part-way through.

The browser ran out of memory and restarted the page. At sizes approaching 25 MB this is the failure a phone hits first, and it looks like a crash rather than an error.

Try a smaller file, close other tabs, or run it on a computer. Nothing was uploaded or lost — the original file is untouched on your device.

The result opened in the wrong program.

The output is a .json file, and your system opens that extension with whatever it was told to. Nothing about the conversion decides it.

Open it from inside the program you want, or change the default for .json in your system settings. The file itself is correct.

Frequently asked questions

Is my file uploaded?
No. The conversion runs entirely in your browser. The file never leaves your device and no request carrying its contents is made.
What does the @ prefix mean in the output?
It marks a value that came from an XML attribute rather than a child element, which keeps the two from colliding when they share a name.
Why is one item an object and another an array?
XML gives no hint that an element is repeatable, so a single occurrence looks like a single value. If your consumer needs an array, normalize it after conversion.
What happens with invalid XML?
The document is validated before parsing, and an unclosed or mismatched tag stops the conversion with the line and column where the problem was found.
Do I need to install anything or create an account to use XML to JSON converter?
No, to all of it. XML to JSON converter runs inside the browser you already have, with no sign-up, no download, no watermark on the result, and no cap on how many files you convert. There is nothing to uninstall afterwards either, because nothing was installed.
Does XML to JSON converter work offline?
Once the page has loaded, yes. The conversion runs on your device, so it needs no connection to do the work. The first visit fetches the page and the code that does the converting; after that a lost connection stops nothing, and a converted file appears exactly as it would online.
How large a file can XML to JSON converter handle?
The limit is 25 MB. It is a deliberate one rather than a technical ceiling: the real constraint is memory, and a file that decodes to more than the device can hold fails in a way that is hard to explain. Phones run out well before laptops do, which is why the limit is set where it is.
Can I convert several files at once with XML to JSON converter?
Not here: this tool takes one file at a time, because what it does depends on choices you make about that particular file. Convert them one after another, or look at the batch converters in the same category, which are built for a folder at a time.

Ads on this site

Advertising pays for this site. The ads may store cookies to choose what to show you and to avoid repeating themselves. Your files are not involved in any of it — they never leave your browser, whichever button you press, and every tool works either way.

What this covers