XML XSD Validator

Validate an XML file against an existing XSD directly in the browser, including optional support files for xsd:include and xsd:import.

Last updated: August 26, 2026 | By Workshelve Team

Browser Validation

XML against XSD

File name used during validation: document.xml
Schema file name used during validation: schema.xsd

Status

Ready

Load or paste an XML document and schema, then run validation.

Supporting schemas

Add any imported or included XSD files here when your main schema references them by filename. New uploads are added to the current list, and uploading a file with the same name replaces that one entry.

XML lines

8

XSD lines

13

Root tag

Unknown

XML elements

0

XSD namespace nodes

0

Validation messages

Validation output will appear here after you run the XML/XSD check.

Formatted XML output

Formatted XML will appear here only when the validator returns normalized output.

Real XSD validation

Uses xmllint compiled to WebAssembly so validation follows libxml2 schema rules in the browser.

Imported schema support

Upload additional XSD files when the main schema relies on xsd:include or xsd:import references, and keep those filenames aligned with the references in the schema.

Formatted output

Successful runs can return a normalized XML document that is easier to inspect, copy, or save. Formatting does not make an invalid document valid.

What This Validator Checks

This tool uses xmllint-wasm, a WebAssembly build of libxml2, to validate an XML document against an XSD schema in the browser. A passing result means the document was checked and conformed to the supplied schema rules under that validator.

That is different from checking whether XML is merely well-formed. A document can have valid XML syntax and still fail schema validation because required elements, namespaces, ordering rules, attributes, data types, or occurrence constraints do not match the XSD.

A malformed schema can also fail before the document is meaningfully validated. That is why this tool now distinguishes an invalid document from a schema or runtime error.

How to Use It Reliably

Support Files and Filename Matching

If the schema uses xsd:include or xsd:import, upload those referenced files in the supporting schema area. The validator resolves them locally from the uploaded filenames; it does not fetch them from the network for you.

Interpreting the Four Result Types

Schema match: the XML was checked and conformed to the supplied XSD.
Schema mismatch: the XML is well-formed but violated one or more schema rules.
XML syntax error: the XML is not well-formed, so XSD validation is not attempted.
Schema or runtime error: the validator could not complete the check because of a malformed schema, unresolved dependency, or execution/runtime failure.

Validator Limits

This is a libxml2-backed validator. It is useful for real browser-side XSD validation, but you should not assume it supports every modern XSD feature set, and it should not be presented as a universal XSD 1.1 validator.

Worked Example

Built-in sample: note.xml against note.xsd

The sample XML declares note.xsd and contains four child elements:to, from, heading, and body. The sample schema requires exactly that sequence under the root noteelement.

Expected result: Schema match. If you remove one required child element or change the order, the document should become schema-invalidwhile still being well-formed XML.

Notes for Existing Schemas

If your XML references a schema file name, keep the uploaded file names aligned with those references. For example, if the XML points to invoice.xsd, use that same file name when uploading the schema here.

When a schema imports or includes other files, upload those support files in the supporting schema section so the validator can resolve them locally without making network requests.

The stats tiles are convenience checks, not a full semantic explanation of your schema. They derive line counts, root tag names, and parsed element totals from the current text, but they do not replace the validator's actual schema result.

If the validator reports a schema or runtime error, check schema syntax first, then check imported filenames, namespace declarations, and whether the schema depends on features outside the supported validator behavior.

Related Tools