Testing

MathML: Browser Support, Elements, Known Issues

MathML works in Firefox 4+, Safari 10+ on macOS, iOS Safari 5+, Chrome 109+, Edge 109+, Opera 95+, and Samsung Internet 21+. Learn the elements and known issues.

Author

Prince Dewani

May 6, 2026

MathML is a W3C XML-based markup language for describing mathematical notation in web pages and EPUB documents. It works in Firefox 4+, Safari 10+ on macOS, iOS Safari 5+, Chrome 109+, Edge 109+, Opera 95+, and Samsung Internet 21+, while Internet Explorer never added support.

This guide covers what MathML is, the browsers that support it, the key elements, the difference between Presentation MathML and Content MathML, the use cases, and the known issues.

What is MathML?

MathML is the Mathematical Markup Language, an XML-based standard from the W3C for describing mathematical notation. The browser-focused subset is MathML Core, which integrates with HTML, CSS, the DOM, and JavaScript. The current version is MathML 4, while MathML 3 remains a W3C Recommendation.

Which browsers does MathML support?

MathML works in every modern browser. Firefox, Safari, Chrome, Edge, Opera, and Samsung Internet ship MathML by default, while Internet Explorer and the legacy stock Android Browser never added support.

Loading browser compatibility data...

MathML compatibility in Chrome

Chrome supports MathML by default from Chrome 109 on Windows, macOS, Linux, ChromeOS, and Android. Chrome 97 to 108 had MathML disabled by default behind a feature flag, and Chrome 25 to 96 did not include support after an experimental Chrome 24 build was removed for stability.

MathML compatibility in Edge

Microsoft Edge supports MathML from Edge 109 on Windows, macOS, and Linux. Edge 97 to 108 hid MathML behind the same Chromium flag, and Edge 79 to 96 had no support. The legacy EdgeHTML-based Edge 12 to 18 never added MathML.

MathML compatibility in Firefox

Firefox supports MathML from Firefox 4 on Windows, macOS, Linux, and Android. Mozilla's Gecko engine ships the most complete Presentation MathML implementation of any browser, and Firefox for Android renders the same way as the desktop build.

MathML compatibility in Safari

Safari supports MathML from Safari 10 on macOS Sierra and later, and from Safari on iOS 5. Safari 3.1 to 9.1 had partial MathML rendering through an earlier WebKit code path. Modern Safari ships MathML Core through WebKit on both desktop and mobile.

MathML compatibility in Opera

Opera supports MathML from Opera 95 on Windows, macOS, and Linux. Opera 83 to 94 had MathML disabled by default, and Opera 15 to 82 had no support after the engine moved from Presto to Blink. The Presto-based Opera 9.5 to 12.1 had partial MathML.

MathML compatibility in Samsung Internet

Samsung Internet supports MathML from Samsung Internet 21 on Galaxy phones and tablets. Earlier Samsung Internet 4 to 20 had no MathML because they shipped Chromium builds before MathML Core was upstreamed.

MathML compatibility in Android Browser

Chrome for Android supports MathML from Chrome 109 on Android 7.0 and later. The legacy stock Android Browser on Android 2.1 to 4.4.4 never added MathML. Modern Android phones should rely on Chrome for Android, Firefox for Android, or Samsung Internet for full support.

MathML compatibility in Internet Explorer

Internet Explorer never added MathML. IE 5.5 to 11 do not parse the math element at all, so equations render as plain text or empty space. Sites that still need IE coverage should load MathJax to render MathML through JavaScript in every unsupported browser.

Note

Note: MathML rendering breaks across older Chrome, legacy Edge, and Internet Explorer. Test it on real browsers and OS with TestMu AI. Try TestMu AI free!

What are the key elements of MathML?

MathML defines 32 core elements. The MDN reference groups them by purpose: math container, tokens, layout, scripts, tables, and semantics. Pages mix these tags inside a single math block to render any equation.

  • math: The root element. Every MathML expression sits inside a math block, with display set through the display attribute.
  • mi, mn, mo, ms, mtext: Token elements that wrap an identifier, number, operator, string literal, or text run.
  • mrow: A grouping element that renders its children on the same row, similar to a span in HTML.
  • mfrac: Renders a fraction with a numerator on top of a denominator separated by a horizontal bar.
  • msqrt and mroot: Render a square root or an n-th root with a radical sign.
  • msub, msup, msubsup: Render subscripts, superscripts, or both on a base expression.
  • mover, munder, munderover: Place an accent or limit above, below, or both around a base expression.
  • mtable, mtr, mtd: Render a math table for matrices and aligned equations, similar to HTML table markup.
  • semantics, annotation, annotation-xml: Attach Content MathML, LaTeX, or other annotations to a Presentation MathML expression.

What is the difference between Presentation MathML and Content MathML?

Presentation MathML describes how an equation looks. Content MathML describes what an equation means. Browsers only render Presentation MathML, while Content MathML feeds computer algebra systems, semantic search, and accessibility tools.

DimensionPresentation MathMLContent MathML
PurposeVisual layout of an equationMathematical meaning of the expression
Core elementsmi, mn, mo, mfrac, msqrt, msup, mtableapply, ci, cn, plus, eq, integrate
Browser renderingRendered natively by Chrome 109+, Edge 109+, Firefox 4+, Safari 10+Not rendered by any browser; ignored or fed through a polyfill
Used byWeb pages, EPUB readers, screen readersComputer algebra systems, semantic search, voice synthesis
MathML Core supportFull support in MathML CoreOut of scope for MathML Core; only the parent MathML 4 spec covers it
Typical pairingWrapped in a semantics block with a Content MathML annotationEmbedded as an annotation-xml sibling of Presentation MathML

What are the use cases of MathML?

MathML is used wherever mathematical notation needs to render reliably and stay accessible. Schools, journals, e-readers, and documentation sites are the biggest adopters.

  • EPUB and digital textbooks: EPUB 3 mandates MathML for math content, so every modern e-reader on iOS, Android, and Kindle ships a MathML renderer.
  • Scientific journals and arXiv: Publishers convert LaTeX to MathML so equations render in HTML alongside the article body, with no image fallback.
  • Online assessment platforms: Math testing tools like Wiris and Desmos embed MathML in question stems so the equations stay searchable, copyable, and screen-reader friendly.
  • Accessibility for blind and low-vision readers: Screen readers like NVDA, JAWS, and VoiceOver speak MathML expressions in natural language, while plain images of equations stay silent.
  • Wikipedia and encyclopedic sites: Wikipedia ships MathML alongside SVG and PNG fallbacks so articles render in every modern browser without external scripts.
  • Library and framework documentation: SciPy, NumPy, and TensorFlow docs use MathML to render formulas in API references so developers can copy them straight into Python or LaTeX.
...

What are the known issues with MathML?

MathML works well in Firefox and Safari, but Chromium-based browsers and older mobile builds still trip up production sites. The biggest hits are stale Chrome installs, Internet Explorer, and font fallback gaps.

  • Chrome 25 to 96 dropped MathML completely: After the experimental Chrome 24 build was removed for stability, Chrome had no MathML for nearly a decade. Sites that needed Chrome support during that window had to load MathJax.
  • Chrome 97 to 108 hide MathML behind a flag: The MathMLCore flag at chrome://flags#enable-experimental-web-platform-features had to be on, otherwise math elements rendered as raw text.
  • Internet Explorer never added it: IE 5.5 to 11 do not parse the math element. The MathPlayer plug-in used to fill the gap, but Microsoft removed it from active distribution.
  • Font fallback varies across operating systems: MathML uses OpenType Math fonts, and Linux distributions without Latin Modern Math or STIX Two Math render some symbols as empty boxes. Ship a self-hosted Math font with a CSS @font-face block to avoid this.
  • Content MathML is not rendered by browsers: Browsers only render Presentation MathML. A page that ships pure Content MathML inside apply tags shows nothing visible, so wrap it in a semantics block with a Presentation MathML annotation.
  • Older Android Browser falls through to plain text: The stock Android Browser on Android 2.1 to 4.4.4 had no MathML renderer, so cleanup logic for legacy traffic still needs MathJax as a fallback.
  • Screen reader voicing still varies: NVDA on Windows reads MathML well, but VoiceOver on iOS and macOS can stumble on long matrices and align environments. Test every equation with a real screen reader before shipping.

In my experience, the MathML font fallback is the trap that bites teams the most. A page reviewed on macOS looks perfect, but a Linux Firefox tester sees half the equation rendered as small empty rectangles, and the team spends an afternoon hunting before realizing the host operating system never installed Latin Modern Math.

...

Citations

All MathML version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests