Free tool
Sitemap generator
Turn a list of URLs into a sitemap that passes our own sitemap validator — with the ampersands escaped, which is how hand-built ones usually break.
Reference for these formats
XML sitemap
A list of a site's URLs with optional freshness hints, read by every major search engine. One <urlset> root, one <url> per page, <loc> mandatory.
Sitemap index
A sitemap of sitemaps, used once a site outgrows a single 50,000-URL file. Indexes cannot nest: every child must be a sitemap, not another index.
Hit a parse error? Every common XML error explained.
Other free tools
- XML validatorCheck whether a document is well-formed XML, with the exact line and column of the first error — and optionally validate it against an XSD.
- XSD validatorValidate an XML document against an XSD schema and get every violation with its line — required attributes, datatypes, element order and cardinality.
- Sitemap validatorCheck a sitemap.xml or sitemap index against the sitemaps.org protocol: URL counts, size limits, lastmod freshness and structure.
- RSS & Atom feed validatorCheck an RSS 2.0 or Atom 1.0 feed against its specification: required channel and entry elements, date formats, self links and duplicate identifiers.
- XPath explorerList every element path in a document with its occurrence count, depth and a sample value — plus the attributes declared on each.
- RELAX NG validatorValidate an XML document against a RELAX NG grammar (.rng) and get every violation with its line — the grammar DocBook, TEI and JATS ship as normative.
- XML minifierStrip the whitespace between elements using libxml2's own serializer — the only whitespace that can be removed without knowing the schema.
- XML canonicalizer (C14N)Produce Canonical XML 1.0, 1.1, or Exclusive C14N — the normalized byte stream signatures are computed over, and the only fair way to compare two documents.
- XML escape & unescapeEscape text so it survives inside an XML document, or resolve character references back — with the HTML-only entities that cause "Entity not defined" flagged.
- XPath testerRun an XPath 1.0 expression against a document and see what libxml2 returns — the same engine behind PHP's DOM, Python's lxml and Ruby's Nokogiri.
- XSD generatorInfer an XML Schema from a document you already have, with cardinality read from the document itself — and a guarantee that it validates what it came from.
- XML to JSON converterConvert an XML document to JSON, keeping attributes rather than discarding them and — by default — keeping every value as a string, not a guessed type.
- JSON to XML converterConvert JSON to XML, with @-prefixed keys becoming attributes and arrays becoming repeated elements — the exact inverse of our XML to JSON converter.
- CSV to XML converterTurn a table into XML — one element per row, column headers as element names — with the delimiter detected rather than assumed.
- XML to YAML converterConvert XML to YAML, quoting every value YAML would otherwise turn into a boolean, a number or a time — including the one that makes Norway false.
- XML to CSV converterTurn XML into CSV — one row per repeating record such as a sitemap URL or feed item, or one row per element path with counts and sample values.
- XML formatterIndent an XML document, or canonicalise it, using libxml2's own serializer — mixed content, CDATA, comments and prefixes all survive.
- XML diffCompare two XML documents structurally: which paths, attributes and namespaces were added, removed or changed — ignoring reordering and reindentation.
Get started
Keep the documents you check, and watch them for changes.
A free workspace stores every version, extracts its structure for search, diffs it against the last one, and re-checks monitored URLs on a schedule — with a 5 MB document limit instead of 2 MB.