MathML is a W3C Recommendation that defines an XML-based markup language for encoding mathematical notation and its underlying semantic content on the World Wide Web. As one of the earliest XML applications (first published in 1998), MathML enables mathematics to be authored, communicated, and processed across web browsers, scientific publishing systems, computer algebra tools, and assistive technologies.
Background
The W3C Math Working Group is one of the oldest Working Groups at the W3C. During its first period of activity (1996--2004), the group created and maintained MathML versions 1 and 2. During its second period (2006--2016), it developed MathML version 3 and saw it become an ISO/IEC International Standard. Since April 2021, the group has been developing MathML version 4 alongside MathML Core, a focused subset designed for reliable browser rendering. The group's current charter runs from 2023 to 2026.
A notable milestone was the announcement in January 2023 that the Chrome browser began rendering MathML natively, thanks to implementation work by Igalia, joining Firefox and Safari in native support. April 2023 marked 25 years of MathML (1998--2023).
Purpose & Scope
MathML provides two complementary forms of markup:
- Presentation MathML encodes the visual layout of mathematical expressions using elements that describe spatial arrangement: rows, fractions, superscripts, subscripts, roots, tables, and fenced groups. This form determines how mathematics looks when rendered.
- Content MathML encodes mathematical meaning using elements that represent operations, functions, relations, and constants. This form supports computation and semantic processing by software.
The two forms can be used independently or combined using the <semantics> element to provide both a visual presentation and a machine-readable semantic representation of the same expression.
Specifications & Status
| Specification | Current Status | Next |
|---|---|---|
| MathML 3 | W3C Recommendation (REC) | -- |
| XML Entity Definitions | W3C Recommendation (REC) | -- |
| MathML 2 | W3C Recommendation (REC) | -- |
| MathML Core | Candidate Recommendation (CR) | REC |
| MathML 4 | Working Draft (WD) | CR |
MathML 3 is additionally an ISO/IEC International Standard.
Serializations & Technical Formats
MathML is defined as an XML vocabulary with the namespace http://www.w3.org/1998/Math/MathML. MathML expressions can be embedded directly in HTML5, XHTML, EPUB, JATS, DocBook, and other XML document types. The MathML Core specification also defines integration with CSS for styling mathematical layout.
Governance & Maintenance
MathML is maintained by the W3C Math Working Group under the W3C Process. The specification is developed openly on GitHub, with public issue tracking and regular working drafts. The Math Working Group coordinates with browser vendors and the MathML Refresh Community Group, which developed initial drafts for MathML 4 and MathML Core. Discussion takes place on the www-math@w3.org mailing list and through GitHub issues.
Notable Implementations
- Web browsers -- Native MathML rendering in Firefox, Safari, Chrome (since v109), and Edge
- MathJax -- JavaScript library providing MathML rendering as a polyfill
- Scientific publishing -- JATS (Journal Article Tag Suite) uses MathML for equations in scholarly articles
- Office suites -- LibreOffice and Microsoft Office can import and export MathML
- Computer algebra systems -- Mathematica, Maple, and others use MathML for interchange
- Accessibility -- Screen readers can interpret Content MathML for spoken mathematics
Related Standards
- HTML -- MathML is embedded directly within HTML5 documents as a foreign content vocabulary