XSLT Transformer
Apply an XSLT stylesheet to an XML document.
XSLT Transformer Online – Apply XSL to XML
The XML XSL transform tool applies an XSLT stylesheet to an XML document and shows you the result immediately. Paste the source XML on the left and the stylesheet on the right; the output updates every time you change either one. It is the quickest way to prototype a stylesheet, debug a template that produces the wrong result, or turn an XML export into an HTML report without installing Saxon or xsltproc.
How to use it
- Paste your XML document in the XML box.
- Paste an XSLT 1.0 stylesheet (
<xsl:stylesheet version="1.0">) in the XSLT box. - Read the transformed output, copy it, or download it. HTML results are also rendered as a live preview.
The Sample button loads a bookstore catalog and a stylesheet that builds an HTML table of the books, sorted by price in descending order with xsl:sort.
What XSLT is good at
- XML → HTML – render catalogs, invoices, reports, or RSS feeds as web pages.
- XML → XML – rename elements, drop fields, restructure documents for another system's schema, or convert between versions of a format.
- XML → text – produce CSV, fixed-width files, SQL statements, or code with
<xsl:output method="text"/>.
Error messages
Before the transformation runs, both inputs are checked for well-formedness, and XML errors are reported with line and column. A stylesheet whose root is not <xsl:stylesheet> or <xsl:transform> is rejected with a clear message, and failures inside the transformation are reported as an error.
Privacy
The XSLT engine loads on demand and runs completely in your browser. Neither the data nor the stylesheet is uploaded, so it is safe for internal documents.
Related tools
Build and test the XPath expressions used in your templates with the XPath Tester. Check your input with the XML Validator, or skip XSLT entirely for simple jobs with XML to HTML and XML to JSON.
Frequently Asked Questions
Which XSLT version is supported?
XSLT 1.0 with XPath 1.0 — the version supported by browsers, libxslt, .NET's XslCompiledTransform, and most legacy systems. It runs on a pure-JavaScript engine, so it works the same in every browser. Stylesheets that rely on XSLT 2.0/3.0 features should not be expected to work.
Can the output be HTML, text, or XML?
All three. The xsl:output method in your stylesheet decides the format. When the result looks like HTML, a rendered preview is shown under the output so you can see the table or page right away.
Why is the result empty?
Usually a template's match or select path doesn't reach any node. Check for a default namespace in the source XML (it must be declared with a prefix in the stylesheet and used in the paths) and remember that paths are case-sensitive. The XPath Tester helps you debug the expressions separately.
Are xsl:include, xsl:import, and document() supported?
No external files are loaded — the transformation runs offline in your browser. Put everything into one stylesheet and paste the data you need into the XML input.