/xXSDHubBETAMy account ↗
SMALL TOOL. LESS GUESSWORK.

Validate XML against XSD.
Find the mismatch.

Check a document against the structure and data types defined by your XSD. Get specific diagnostics without uploading your XML.

⌘

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 XSD validation adds

    XML Schema Definition, or XSD, describes the structure a class of XML documents is expected to follow. A schema can require an attribute, restrict an element to a number, define the order of children and limit how many times an item appears. Well-formed XML can still fail its schema: <quantity>two</quantity> is valid XML syntax but fails when quantity is defined as xs:positiveInteger.

    How to validate XML against a schema

    Open or paste your XML in the left editor and your XSD in the right editor. Keep XML + XSD selected, then run Validate XML. Use the exact schema version required by the system receiving the document. Start with the included order example; the invalid example deliberately puts text in numeric fields so you can see the resulting diagnostics.

    Namespaces and order matter

    An element called order in a namespace is different from an order element with no namespace. Compare the XML namespace with the schema targetNamespace before renaming elements. For xs:sequence, child elements must also appear in the declared order. Missing child element errors can therefore point to either an absent field or an unexpected field appearing too early.

    What this beta supports

    XSDHub uses the libxml2 validation engine and supports XSD 1.0 schemas, including local imports and includes. Load XSD files, a folder or a ZIP and choose the main schema. Projects support up to 100 schemas and 10 MB total. Optional server modes support XSD 1.1 and ISO Schematron with XPath 1.0 after upload consent. DTDs and implicit remote fetching are blocked. Public HTTPS schemas can be imported explicitly as a snapshot. A passing result confirms conformance to the supplied schema; it does not certify compliance with external business, tax or industry rules. Inputs must be UTF-8: XML allows 10 MB and each schema allows 1 MB.