Notice: The WebPlatform project has been discontinued when the Stewards partnership agreement ended in September 2015. This site has been frozen, and the assets we have created will remain.



The Document Object Model (DOM) is an application programming interface (API) for markup documents, like HTML, SVG, MathML, and XML. The DOM provides a logically structured representation of a document, and a set of Objects and Methods for manipulating that structure.

Explore our DOM docs

DOM learning material

Tutorials and concept articles to teach you DOM manipulation from scratch.


See the table below.


See the table below.

Note: If you are completely new to web development, you may want to review Web development for beginners.


When a markup document is parsed by a browser, it converts the document in a tree structure called the document object model, or DOM. This model can then be used to access and manipulate existing elements in the document, and create new ones, an essential set of activities when creating dynamic page functionality.

  • First version: It was 1997 when browser vendors involved in the W3C decided to agree on a single standardised document object model, to make cross browser coding less of a nightmare.
  • Current stable version: DOM level 3 is the most stable version, the specification of which is split up into different parts, all of whom have made it to recommendation status. You can find a list of all DOM publications at DOM technical reports
  • Current and future work: DOM level 4 is the current nascent version of the DOM being worked on.

Contributing to DOM development

The DOM is being worked on by the Web Applications Working Group; visit their mailing lists for discussion, and contribution of ideas.

Index of all DOM topics

Use the Special:PrefixIndex/dom/ search page to find all classes, methods, and properties organized under this page, or the DOM category page for all DOM-related pages in the wiki.

List of DOM-related Interfaces