/xXSDHubBETAMy account ↗
SMALL TOOL. LESS GUESSWORK.

Format your XML.
See the structure.

Turn a compact XML document into a more readable tree of elements. Format locally, then copy the result back into your workflow.

⌘

Your data stays yours.

Default checks run in your browser. Server checks require permission.
Local validation. Referral tracking is optional.
Optional saved schema library.
How it works ↗
</>order.xml
{ }order.xsd
XSD 1.0 local · optional advanced engines
No files selected
▣ Private by design ⌘ / Ctrl + Enter to validate
↳
READY WHEN YOU ARE

Good data starts with a quick check.

Load an example or add your own XML and schema, then run validation.

    THE SHORT VERSION

    A little structure.
    A lot less debugging.

    01

    Bring your XML

    Paste a document or open a UTF-8 file. Start with the included examples to see what valid and invalid data look like.

    02

    Give it a schema

    An XSD defines the elements, order and data types your XML should use. Just checking the syntax? Switch to XML syntax only.

    03

    Follow the feedback

    See validation errors with line numbers where available. Correct your data, check again, and export a JSON result for your records.

    YOU CHOOSE THE ENGINE

    Local by default. Server by permission.

    Default XSD 1.0 validation and formatting run on your device with libxml2 and WebAssembly, up to 10 MB per XML document and 1 MB per schema. Local projects support 100 schemas and 10 MB total; save them on this device with five revisions or export a backup. Optional server modes support XSD 1.1, a second XSD 1.0 engine and ISO Schematron XPath 1.0, with up to 10 MB XML. They upload documents only after you select the consent checkbox. Request contents are not logged and temporary files are removed after processing. Pro and Team can also save complete schema projects and versions to their cloud workspace. Cloud saving uploads the schemas only when you choose to save. DTDs are blocked. Use the separate public HTTPS importer to fetch schema snapshots before validating. Read the processing details or use the API and CLI.

    GROW WITH YOUR WORKFLOW

    One file today.
    Your whole team tomorrow.

    Keep checking individual files for free. Upgrade for batch validation, a saved schema library and a shared Team workspace.

    FREE · PRO · TEAM

    More flow. Less repetition.

    Pro from US$19/month. Team from US$49/month.
    Save two months with annual billing.

    Compare subscriptions ↗

    What pretty printing does

    XML formatting adds indentation and line breaks where the serializer can do so. That makes nested elements easier to inspect while debugging a feed or integration. The formatter parses the document first, so malformed XML must be corrected before it can be formatted. Formatting alone does not check the document against an XSD.

    How to format an XML document

    Paste XML or open a UTF-8 file, then choose Format XML. The result replaces the document in the editor. Use Copy to put it on your clipboard. To inspect schema requirements too, open the XSD validator and run a separate validation with the relevant schema.

    Whitespace and mixed content

    Whitespace can be meaningful in XML, especially when text and elements are mixed, such as <p>Hello <b>world</b>!</p>. This formatter uses libxml2 serialization and avoids forcibly stripping all whitespace or inserting breaks inside mixed text. Always review serialized output before replacing a signed, hashed or whitespace-sensitive document. Pretty printing is not XML canonicalization.

    Local processing and limits

    Formatting runs in a disposable browser worker. No XML is uploaded. Files are limited to 1 MB and UTF-8 encoding; DTD and entity declarations are rejected. If a document exceeds the processing time limit, simplify the input or use a tool designed for large files. The browser does not save your document after you close the page.