StanimirIglev/awesome-xml

A curated list of awesome XML standards, libraries and resources.

45

55 commits

updated Aug 31, 2026

See the code

README

Awesome XML Awesome

A curated list of the best tools, libraries, tutorials, and more for all things XML-related.

Contents

The XML Family (in a nutshell)

A list of W3C standards closely related to XML.

↥ back to top ↥

Drafts and Community Advances

A collection of actively developed drafts and community-driven XML-related projects.

↥ back to top ↥

Processing Libraries

Legend for Use Case Tags

TagDescription
DOMLibraries that support building or navigating XML trees via the Document Object Model.
SAXLibraries that use event-driven parsing, emitting parsing events (start tag, end tag, etc.) instead of building an in-memory tree.
ValidationSupport for XML schema validation (DTD, XSD, Relax NG, etc.).
XPathLibraries that support querying XML documents using XPath expressions.
XSLTLibraries with support for XML transformation using XSLT stylesheets.
SerializationLibraries that convert between native data structures and XML (marshal/unmarshal).

💡 Use these tags to quickly identify what capabilities each library provides. 💡

Libraries

Library NameLanguageUse CasesNotes
libxml2CDOM, SAX, Validation, XPath, XSLTComprehensive XML toolkit with support for various standards.
expatCSAXStream-oriented parser suitable for event-driven applications.
Mini-XMLCSAXSmall C XML library.
libxml++C++DOM, SAX, Validation, XPath, XSLTC++ wrapper for libxml2 providing an object-oriented API.
pugixmlC++DOM, XPathLightweight and fast XML parser with XPath support.
TinyXMLC++DOMSimple and small XML parser for C++ applications.
RapidXMLC++DOMHigh-performance XML parser with in-situ parsing capabilities.
Xerces-C++C++DOM, SAX, ValidationFull-featured XML parser with support for various XML standards.
System.XmlC#DOM, SAX, Validation, XPath, XSLT, Serialization.NET's comprehensive XML processing library.
Dart XMLDartDOMLightweight library for parsing and building XML documents.
fast_xmlErlangSAXErlang XML library based on expat.
encoding/xmlGoSerializationStandard library for encoding and decoding XML.
xml-conduitHaskellDOM, StreamingProvides parsing and rendering functions for XML with streaming support.
Haskell XML ToolboxHaskellDOM, Validation, XPathCollection of tools for processing XML with Haskell.
JAXPJavaDOM, SAX, Validation, XPath, XSLTJava API for XML Processing supporting various standards.
dom4jJavaDOM, XPathFlexible XML framework for Java applications.
JDOMJavaDOMJava-based document object model for XML that is easy to use.
VTD-XMLJavaDOM, XPathHigh-performance XML parser with non-extractive parsing.
Xerces2-JJavaDOM, SAX, ValidationJava version of Xerces with comprehensive XML support.
DOMParserJavaScriptDOMBuilt-in browser API for parsing XML documents.
xml-jsJavaScriptDOMConverts XML text to JavaScript objects and vice versa.
xml2jsJavaScriptDOMSimple XML to JavaScript object converter.
fast-xml-parserJavaScriptDOMFast and lightweight XML parser for JavaScript.
XmlUtilKotlinDOMUtility functions for XML processing in Kotlin.
XML::ParserPerlSAXPerl module for parsing XML documents.
XML::LibXMLPerlDOM, XPath, ValidationInterface to the libxml2 library for Perl.
XML::SimplePerlDOMSimple API for reading and writing XML.
SimpleXMLPHPDOMProvides a simple way to access XML elements.
xml.etree.ElementTreePythonDOMLightweight XML parser and tree builder.
lxmlPythonDOM, XPath, XSLT, ValidationPowerful and feature-rich XML processing library.
xml.dom.minidomPythonDOMMinimal implementation of the Document Object Model interface.
NokogiriRubyDOM, XPath, XSLTHTML, XML, SAX, and Reader parser with XPath and CSS selector support.
REXMLRubyDOMPure Ruby XML processor conforming to the XML 1.0 specification.
xml-rsRustSAXEvent-based XML parser for Rust.
quick-xmlRustSAXFast and low-level XML reader and writer.
scala-xmlScalaDOMXML processing library for Scala.
SWXMLHashSwiftDOMSimple XML parser for Swift.
AEXMLSwiftDOMLightweight XML parser for iOS and macOS.

↥ back to top ↥

Command-Line Tools

A collection of command-line tools for XML processing.

  • xmllint - a multifaceted XML tool that comes with libxml2.
  • xmlstarlet - a set of utilities for querying, editing, validating, and transforming XML documents.
  • xq - beautifier and content extractor.
  • dasel - query and modify data structures using standard selector strings. Supports XML among others.
  • graphtage - semantically compare and merge tree-like structures.
  • HTML-XML-utils - a collection of utilities for XML/HTML manipulation.
  • Saxon - XML processor supporting XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1. (Note: only the HE version is free.)
  • tidy (libtidy) - correct and clean-up HTML and XML documents.
  • xsltproc (libxslt) - XSLT processor for the application of stylesheets to XML documents.
  • xslint - a linter for XSL/XSLT stylesheets, flagging stylistic, semantic, and logical mistakes with fixes and editor/CI integrations.

↥ back to top ↥

Online Tools

A small excerpt of the many online tools for XML processing.

↥ back to top ↥

Validation

Schema Languages

↥ back to top ↥

Native XML Databases

A list of XML databases that store and query XML data natively.

↥ back to top ↥

XML-based Formats/Languages

A curated list of popular formats and languages that use the XML syntax (often defined via a schema). A more extensive, but less curated list can be found here.

❗ The goal for this section is to have a list of established formats with links to resources, such as specifications, schemas, and tutorials. Feel free to contribute! ❗

↥ back to top ↥

Community

Websites/Forums

  • XML.com - a site for XML resources, tutorials, and news.
  • XML.org - a community-driven site for XML resources.
  • r/xml - a subreddit for XML discussions.
  • XML @ Stack Overflow - XML-related discussions on Stack Overflow.

Conferences

  • XML Prague - an annual conference on markup languages and data on the web.
  • Balisage - an annual conference devoted to descriptive markup
  • Markup UK - a conference about XML and other markup technologies
  • Declarative Amsterdam - a conference on the technologies and methods used for declarative programming and data
  • XML Summer School - a week-long event comprised of courses for XML and related technologies

Blogs

Mailing Lists

  • XSL-List - mailing list for XSLT questions and applications.
  • Schematron - mailing list for Schematron discussions.
  • XML-DEV - active mailing list on XML.org.

Articles

↥ back to top ↥

Tutorials

A list of tutorials that provide a good introduction to the XML ecosystem.

↥ back to top ↥

Books

Note that many of these books are available online for free - a quick Google search should suffice. 😉

↥ back to top ↥

Visual Studio Code Extensions

↥ back to top ↥

Editors (validating)

These are standalone XML editors with the inherent capability to validate XML against a DTD or schema. Browser-based XML editors (such as under Browser Extensions) and general text editors like Notepad++ and Vim are not included.

Free

Commercial, but with a free for personal use version

Commercial

↥ back to top ↥

Browser Extensions

Mozilla Firefox

Google Chrome

  • XML Formatter - in-browser formatter for XML
  • Night XML - dark mode XML viewer
  • XML Tools - collection of tools for XML - conversion, formatting, minification, etc.

↥ back to top ↥

Contribute

Contributions are welcome! Read the contribution guidelines first.

awesome
awesome-list
awesome-lists
collection
contributions-welcome
good-first-issue
help-wanted
markup
schemas
xml
xml-parsing
xml-schema
xpath
xquery
xslt

StanimirIglev/awesome-xml

A curated list of awesome XML standards, libraries and resources.

45

55 commits

updated Aug 31, 2026

See the code

README

Awesome XML Awesome

A curated list of the best tools, libraries, tutorials, and more for all things XML-related.

Contents

The XML Family (in a nutshell)

A list of W3C standards closely related to XML.

↥ back to top ↥

Drafts and Community Advances

A collection of actively developed drafts and community-driven XML-related projects.

↥ back to top ↥

Processing Libraries

Legend for Use Case Tags

TagDescription
DOMLibraries that support building or navigating XML trees via the Document Object Model.
SAXLibraries that use event-driven parsing, emitting parsing events (start tag, end tag, etc.) instead of building an in-memory tree.
ValidationSupport for XML schema validation (DTD, XSD, Relax NG, etc.).
XPathLibraries that support querying XML documents using XPath expressions.
XSLTLibraries with support for XML transformation using XSLT stylesheets.
SerializationLibraries that convert between native data structures and XML (marshal/unmarshal).

💡 Use these tags to quickly identify what capabilities each library provides. 💡

Libraries

Library NameLanguageUse CasesNotes
libxml2CDOM, SAX, Validation, XPath, XSLTComprehensive XML toolkit with support for various standards.
expatCSAXStream-oriented parser suitable for event-driven applications.
Mini-XMLCSAXSmall C XML library.
libxml++C++DOM, SAX, Validation, XPath, XSLTC++ wrapper for libxml2 providing an object-oriented API.
pugixmlC++DOM, XPathLightweight and fast XML parser with XPath support.
TinyXMLC++DOMSimple and small XML parser for C++ applications.
RapidXMLC++DOMHigh-performance XML parser with in-situ parsing capabilities.
Xerces-C++C++DOM, SAX, ValidationFull-featured XML parser with support for various XML standards.
System.XmlC#DOM, SAX, Validation, XPath, XSLT, Serialization.NET's comprehensive XML processing library.
Dart XMLDartDOMLightweight library for parsing and building XML documents.
fast_xmlErlangSAXErlang XML library based on expat.
encoding/xmlGoSerializationStandard library for encoding and decoding XML.
xml-conduitHaskellDOM, StreamingProvides parsing and rendering functions for XML with streaming support.
Haskell XML ToolboxHaskellDOM, Validation, XPathCollection of tools for processing XML with Haskell.
JAXPJavaDOM, SAX, Validation, XPath, XSLTJava API for XML Processing supporting various standards.
dom4jJavaDOM, XPathFlexible XML framework for Java applications.
JDOMJavaDOMJava-based document object model for XML that is easy to use.
VTD-XMLJavaDOM, XPathHigh-performance XML parser with non-extractive parsing.
Xerces2-JJavaDOM, SAX, ValidationJava version of Xerces with comprehensive XML support.
DOMParserJavaScriptDOMBuilt-in browser API for parsing XML documents.
xml-jsJavaScriptDOMConverts XML text to JavaScript objects and vice versa.
xml2jsJavaScriptDOMSimple XML to JavaScript object converter.
fast-xml-parserJavaScriptDOMFast and lightweight XML parser for JavaScript.
XmlUtilKotlinDOMUtility functions for XML processing in Kotlin.
XML::ParserPerlSAXPerl module for parsing XML documents.
XML::LibXMLPerlDOM, XPath, ValidationInterface to the libxml2 library for Perl.
XML::SimplePerlDOMSimple API for reading and writing XML.
SimpleXMLPHPDOMProvides a simple way to access XML elements.
xml.etree.ElementTreePythonDOMLightweight XML parser and tree builder.
lxmlPythonDOM, XPath, XSLT, ValidationPowerful and feature-rich XML processing library.
xml.dom.minidomPythonDOMMinimal implementation of the Document Object Model interface.
NokogiriRubyDOM, XPath, XSLTHTML, XML, SAX, and Reader parser with XPath and CSS selector support.
REXMLRubyDOMPure Ruby XML processor conforming to the XML 1.0 specification.
xml-rsRustSAXEvent-based XML parser for Rust.
quick-xmlRustSAXFast and low-level XML reader and writer.
scala-xmlScalaDOMXML processing library for Scala.
SWXMLHashSwiftDOMSimple XML parser for Swift.
AEXMLSwiftDOMLightweight XML parser for iOS and macOS.

↥ back to top ↥

Command-Line Tools

A collection of command-line tools for XML processing.

  • xmllint - a multifaceted XML tool that comes with libxml2.
  • xmlstarlet - a set of utilities for querying, editing, validating, and transforming XML documents.
  • xq - beautifier and content extractor.
  • dasel - query and modify data structures using standard selector strings. Supports XML among others.
  • graphtage - semantically compare and merge tree-like structures.
  • HTML-XML-utils - a collection of utilities for XML/HTML manipulation.
  • Saxon - XML processor supporting XSLT 3.0, XQuery 3.1, XPath 3.1, and XSD 1.1. (Note: only the HE version is free.)
  • tidy (libtidy) - correct and clean-up HTML and XML documents.
  • xsltproc (libxslt) - XSLT processor for the application of stylesheets to XML documents.
  • xslint - a linter for XSL/XSLT stylesheets, flagging stylistic, semantic, and logical mistakes with fixes and editor/CI integrations.

↥ back to top ↥

Online Tools

A small excerpt of the many online tools for XML processing.

↥ back to top ↥

Validation

Schema Languages

↥ back to top ↥

Native XML Databases

A list of XML databases that store and query XML data natively.

↥ back to top ↥

XML-based Formats/Languages

A curated list of popular formats and languages that use the XML syntax (often defined via a schema). A more extensive, but less curated list can be found here.

❗ The goal for this section is to have a list of established formats with links to resources, such as specifications, schemas, and tutorials. Feel free to contribute! ❗

↥ back to top ↥

Community

Websites/Forums

  • XML.com - a site for XML resources, tutorials, and news.
  • XML.org - a community-driven site for XML resources.
  • r/xml - a subreddit for XML discussions.
  • XML @ Stack Overflow - XML-related discussions on Stack Overflow.

Conferences

  • XML Prague - an annual conference on markup languages and data on the web.
  • Balisage - an annual conference devoted to descriptive markup
  • Markup UK - a conference about XML and other markup technologies
  • Declarative Amsterdam - a conference on the technologies and methods used for declarative programming and data
  • XML Summer School - a week-long event comprised of courses for XML and related technologies

Blogs

Mailing Lists

  • XSL-List - mailing list for XSLT questions and applications.
  • Schematron - mailing list for Schematron discussions.
  • XML-DEV - active mailing list on XML.org.

Articles

↥ back to top ↥

Tutorials

A list of tutorials that provide a good introduction to the XML ecosystem.

↥ back to top ↥

Books

Note that many of these books are available online for free - a quick Google search should suffice. 😉

↥ back to top ↥

Visual Studio Code Extensions

↥ back to top ↥

Editors (validating)

These are standalone XML editors with the inherent capability to validate XML against a DTD or schema. Browser-based XML editors (such as under Browser Extensions) and general text editors like Notepad++ and Vim are not included.

Free

Commercial, but with a free for personal use version

Commercial

↥ back to top ↥

Browser Extensions

Mozilla Firefox

Google Chrome

  • XML Formatter - in-browser formatter for XML
  • Night XML - dark mode XML viewer
  • XML Tools - collection of tools for XML - conversion, formatting, minification, etc.

↥ back to top ↥

Contribute

Contributions are welcome! Read the contribution guidelines first.

awesome
awesome-list
awesome-lists
collection
contributions-welcome
good-first-issue
help-wanted
markup
schemas
xml
xml-parsing
xml-schema
xpath
xquery
xslt

Significant stargazers

Sebastian Pipping

422 followers · starred Jan 2026

Chriztian Steinmeier

79 followers · starred Sep 2024