Loading editor…
Output initialises when this pane is visible.
XML Studio
Run XSLT 1.0 stylesheets against your XML with live output.
100% in your browsernothing is uploadedLoading editor…
Output initialises when this pane is visible.
Transform XML into HTML, text, or other XML using stylesheets.
XSLT (Extensible Stylesheet Language Transformations) is a language for converting XML into another structure — often HTML for display, plain text for reports, or a different XML schema for integration. You write a stylesheet with templates and rules; a processor applies it to source XML.
This playground runs XSLT 1.0 in the browser so you can edit stylesheet and source XML together and preview output live. Useful when maintaining legacy publishing pipelines or debugging transformation errors before deployment.
All transformation happens locally; your XML and stylesheets never leave the device.
Step-by-step guide for XSLT Playground. Everything runs locally in your browser.
Use xsl:template match="/" and xsl:apply-templates for typical transforms. Output is HTML or XML depending on your stylesheet — all evaluation runs locally in the browser.
Need tree view, schema validation, or other modes? Open XML Editor Pro for the full guide with Diff examples and workflows.
What this XSLT Playground page offers — processed locally in your browser.
Edit stylesheets and preview transformation output live.
Copy transformed markup from the preview panel.
All processing runs in your browser. Nothing is uploaded.
Common questions about XSLT Playground.
Yes. Parsing, formatting, diffing, validation, XPath, transforms, and XSLT all run inside your browser.
Data is not sent to a server. The only local storage is your session in localStorage, which
you can clear in browser settings.
After the first visit (when Monaco and assets are cached), you can edit, format, diff, and transform without a network connection. “Load from URL” still needs network access and a CORS-friendly server.
Auto-fix handles many well-formedness problems: unclosed or mismatched tags, duplicate attributes,
unquoted attribute values, bare & in text, broken comments and CDATA sections, and orphan
closing tags. It appears in the status bar when parsing fails and inside Validate mode with per-error fix
buttons. Auto-fix does not change XSD-valid content — it only makes XML syntactically parseable so you can
continue editing or run schema validation.
Yes. Open Diff mode (Ctrl/⌘+D), paste the second file on side B, and keep Sort enabled on both sides. Sibling elements are reordered using a stable canonical ordering so equivalent documents align. Turn Sort off when sequence matters (e.g. ordered event lists).
Quick try: load the sample catalog, open Diff, paste the same XML on B but swap the two
<book> blocks. With Sort on, the diff should be empty; with Sort off, you will see the
blocks highlighted as changed lines.
Those options rebuild the view from your source text: Sort reorders elements; Ignore WS normalises whitespace in text nodes and tells the diff engine to ignore leading/trailing spaces on each line. Your stored source is kept separately so toggling options updates the display without losing the original unless you edit the diff pane itself.
When Sort or Ignore WS is on, the file is parsed with
DOMParser and comments are not preserved in the diff view. For comment-sensitive compares,
turn both off on that side — Format/Minify still work on the raw text.
XPath 1.0 (browser document.evaluate). Unprefixed names match local element names; the
sample catalog avoids a default namespace so paths like /catalog/book/title work as
expected.
JSON, YAML, CSV, Markdown, and HTML table. Pick a target in Transform mode and click Convert. Conversion uses the browser DOM — very large documents may take a moment.