Convert XML into JSON: RSS feeds, sitemaps, SOAP responses, config files. Attributes become @keys and repeated elements become lists, the same way everywhere in the document. Values keep their text. Whatever can't be carried over, like comments or mixed content, is listed for you.
How to use it
- Paste XML or open an .xml file.
- The JSON appears, with a note about anything XML-only that was dropped.
- Download or copy the JSON, or open it in GigaJSON.
Private, and made for big files
This tool runs in your browser, in a background worker: nothing you paste or open is uploaded, and nothing is kept after you leave. JSON and XML input can be up to 1 GB, depending on available memory. Processing runs in a background worker; large analyses can take a minute or more. If your connection drops while you're here, the tool keeps working. When one tool isn't enough, GigaJSON opens your data with a tree, a table, JSONPath/JMESPath/jq queries, transforms, diff and history.
Questions
How are attributes and text represented?
Attributes become keys starting with @. Text next to attributes or child elements becomes #text, so <a id="1">x</a> turns into {"a": {"@id": "1", "#text": "x"}}.
Is it safe with untrusted XML?
Yes. External entities are never fetched, and entity expansion (the "billion laughs" attack) is refused.
Is my data uploaded?
No. The tool runs in your browser, in a background worker. Nothing you paste or open goes to a server, and nothing is kept after you leave the page.
How large a file can it handle?
JSON and XML input can be up to 1 GB, depending on memory. CSV/YAML input and JSON repair are limited to 128 MB. Parsing runs in a background worker. jq, text editing and text-based exports have separate limits, shown when you use them.
All tools
- JSON FormatterIndent with 2 or 4 spaces, sort keys
- JSON ValidatorLine and column of the first error
- JSON MinifierRemove whitespace, see the bytes saved
- JSON RepairFixes quotes, commas, comments, AI output
- JSON Schema GeneratorA JSON Schema from examples
- Large JSON ViewerTree, table and search for huge files
- JSON Lines ViewerJSONL and NDJSON logs as a table
- JSON VisualizerThe data as a graph, PNG and SVG export
- JSON DiffChanges between two documents
- JSON Path FinderClick a value, copy its path
- JSONPath TesterJSONPath, JMESPath and jq, live
- JMESPath PlaygroundJMESPath, for AWS CLI queries too
- jq PlaygroundReal jq in your browser
- JSON to CSVNested objects become dotted columns
- CSV to JSONDelimiters detected, 007 stays 007
- JSON to XML@keys become attributes
- XML to JSONRSS feeds, sitemaps, SOAP responses
- JSON to YAMLReadable YAML, ambiguous strings quoted
- YAML to JSONAnchors and multiple documents
- JSON Lines to JSONNDJSON or JSONL into one array
- JSON to TypeScriptInterfaces inferred from your data
- JWT DecoderHeader, payload and expiry, locally
- JSON EscapeText to a JSON string and back
- Sample JSON FilesDownload test JSON, 100 KB to 1 GB
- Sample CSV FilesDownload test CSV, 100 KB to 1 GB
- Sample XML FilesDownload test XML, 100 KB to 1 GB
- Large JSON File GeneratorTest data from 100 KB to 1 GB