Skip to main content

Privacy First

The XML validator

Validate XML locally in your browser.

XML Validator is a free, privacy-first XML validator. Check that XML is well-formed, or validate it against a DTD or an XSD. Everything runs in your browser. No uploads. No account. No tracking. Your XML never leaves your device.

No uploadsNo accountNo trackingRuns in your browser
Your files are processed locally in your browser and are never uploaded to WebF1.

Validation mode

Import XML

Drag and drop an XML file here, or

XML content

XSD validation loads libxml2 (WebAssembly) on first use. The first XSD run may take a moment while the engine is fetched. DTD validation runs in plain JavaScript with no extra download.

Why a private XML validator?

XML files often carry configuration, invoices, personnel records, or other sensitive data. Web-based validators that upload your file add avoidable risk: the data leaves your device and lands on someone else's server. XML Validator runs every check in your browser, so the file never travels anywhere. It is a practical utility for quick, trustworthy validation without the compliance overhead of an upload-based tool.

How it works

  1. Choose a validation mode: well-formed only, DTD, or XSD.
  2. Drag and drop an XML file, browse for one, paste XML text, or load a sample.
  3. For DTD or XSD mode, add the schema file the same way.
  4. Click Validate and read the result. Errors show the file, line, and message.

Read more in the how it works guide, or the privacy page.

Frequently asked questions

Does the XML Validator upload my files?
No. Your XML, DTD, and XSD files are read in-memory by JavaScript in your browser tab. All validation happens locally. No network request is made that contains your file content.
What is the difference between well-formed and valid XML?
Well-formed means the XML follows the basic syntax rules of XML (single root, properly nested tags, quoted attributes, escaped entities). Valid means it is well-formed and also conforms to the rules in a DTD or XSD schema. Well-formedness is checked with the browser native parser; DTD validation uses a built-in pure-JavaScript DTD validator, and XSD validation uses libxml2 compiled to WebAssembly, loaded only when you need it.
Which schema languages are supported?
DTD (Document Type Definition) and XSD (W3C XML Schema). For XSD files that import or include other XSD files, you can upload the dependencies alongside the main schema.
My XML references an external DTD or XSD by URL. Can the tool fetch it?
The tool detects external schema references (a DOCTYPE SYSTEM URL or an xsi:schemaLocation) and shows the URL with copy and open actions. Browsers cannot fetch cross-origin schemas automatically, so open the link, save the file, then drop it into the schema importer. This keeps your XML and schema validation entirely in your browser.
How are errors reported?
Each error lists the file, line number, and a message describing the problem. When the XML is pasted or loaded inline, you can jump to the line in the editor. The raw validator output is also available in a collapsible section.
Is there a file size limit?
The maximum XML file size is 10 MB. Very large files can exhaust the memory available to the in-browser validator, so the limit is conservative. Most XML documents are well under this limit.