Developer Documentation
JavaScript
Updated September 19, 2026

Convert XML to JSON in JavaScript

Parse XML and convert it to JSON using an explicit mapping convention in JavaScript.

XML can represent attributes, mixed text, namespaces, repeated elements, and ordering in ways JSON cannot represent directly. Pick a library and a stable mapping convention, then test it with real documents.

Quick Start#

The following example uses the standard JavaScript API or a widely used package for this task.

Using xml2js#

JavaScript
1// npm install xml2js2import { parseStringPromise } from "xml2js";34const value = await parseStringPromise(xml, {5  explicitArray: false,6  trim: true,7});89const json = JSON.stringify(value, null, );10console.log(json);

Common Operations#

This second pattern covers a common production operation or a safer way to handle real input.

Keep attributes explicit#

JavaScript
1const value = await parseStringPromise(xml, {2  explicitArray: false,3  attrkey: "@",4  charkey: "#text",5});

Important Notes#

Choose and document attribute/text keys. Never assume an XML-to-JSON conversion is perfectly reversible without a defined mapping.

Best Practices#

  1. Treat external input as untrusted and handle parse/validation errors explicitly.
  2. Keep encoding, units, formats, and library-specific mapping rules explicit at system boundaries.
  3. Add test vectors that cover empty input, Unicode text, malformed input, and representative production data.

References#

Implement XML → JSON in other languages: