Strips XML Syntax: The tool parses your XML with the browser's native parser and walks every element in document order to build a flat text string. Tag names, attributes and text content all contribute to the result, while namespace declarations such as xmlns and xmlns:soap are ignored so they never clutter the output.
Example: <catalog><book isbn="978-1-2345-6789-0"><title>The Glass Lighthouse</title></book></catalog> produces two records — catalog and book isbn: 978-1-2345-6789-0; title: The Glass Lighthouse in the default Tag + data Pair mode.
Line Breaks Between Siblings: The root element is written on its own record, and each direct child element of the root starts a new record, so multiple top-level items are easy to scan. Deeper nested elements remain on the same record as their parent to keep context intact. Records are separated by a blank line (Paragraph) by default.
Choose Your Output Mode: The Output mode menu offers three layouts. Tag + data Pair (the default) renders readable name: value pairs joined with semicolons. Tag + data returns the classic flat form: tag names and content separated by spaces, with attributes placed right after the tag name. Data only keeps every value (text content and attribute values) but drops all tag and attribute names.
Example: for <catalog><book isbn="978-1-2345-6789-0"><title>The Glass Lighthouse</title></book></catalog> the book record is book isbn: 978-1-2345-6789-0; title: The Glass Lighthouse in Tag + data Pair, book isbn 978-1-2345-6789-0 title The Glass Lighthouse in Tag + data, and 978-1-2345-6789-0 The Glass Lighthouse in Data only.
Two Separators, Clear Roles: The Tag separator dropdown belongs to Tag + data Pair mode and controls the text placed between each name and its value; it is Colon by default, so book isbn: 978-1-2345-6789-0; title: The Glass Lighthouse reads cleanly. Choose Space for isbn 978-1-2345-6789-0, or type any character with Custom.... The separate Record separator joins the records themselves (the root plus one record per direct child of the root) in every mode; Paragraph (a blank line) is the default, while New line gives scannable rows, Comma gives CSV-style lists, Space flattens everything into a single line, Tab suits spreadsheet imports and Semicolon gives semicolon-delimited output.
Handles Namespaces Cleanly: Documents that declare namespaces (SOAP envelopes, RSS feeds, sitemaps) stay readable. The xmlns and xmlns:prefix declarations are skipped, and tag and attribute names use their local name, so <soap:Envelope> contributes envelope instead of a namespace URL.
Trim Whitespace: The Trim whitespace toggle is on by default. It strips leading and trailing spaces, tabs and newlines from text content and attribute values, and skips indentation-only nodes, so <a> hi </a> becomes a: hi in Tag + data Pair mode. Turn it off to keep the original whitespace exactly as written — the same element then becomes a: hi .
Works Offline in Your Browser: All processing happens client-side using JavaScript and the browser's built-in XML parser. Nothing you paste or upload is stored or transmitted anywhere, which makes it safe for sensitive documents.
Clear Error Handling: If the XML is malformed — missing closing tags, mismatched quotes, or illegal characters — the tool reports the parser's error message and clears the output so you can fix the input and try again.
Live Mode (Off by Default): Live Mode is off by default so the page does not reprocess large XML on every keystroke. Tick Live Mode (Update as you type) if you want the output to refresh instantly as you type, upload a file, or change an option. Conversions still run entirely in your browser, so live updates stay private to your device.