Web components for math input, display, and accessibility.
MathLive ships batteries-included UI components that bring TeX-quality math to the web. Drop a mathfield on the page, wire up the events you care about, and MathLive handles rendering, editing, speech, and keyboard UX for you.
- 800+ built-in LaTeX commands with high-fidelity typesetting
- Mobile-ready virtual keyboards and physical keyboard shortcuts
- Export/import as LaTeX, MathML, ASCIIMath, Typst, or MathJSON
- Screen-reader friendly with math-to-speech and ARIA labels
- Highly customizable UI, themes, macros, commands, and behaviors
Components at a Glance
<math-field> - The flagship math editor. Provides text-area like APIs
(value, selection, executeCommand()), emits input and change events,
and exposes a full virtual keyboard UI with custom layouts.
<math-span> - Inline, lightweight renderer for static math. Ideal for
embedding expressions inside paragraphs without initializing a full mathfield.
<math-div> - Block-level renderer for static math and display equations.
Useful for articles, assessments, or anywhere you previously called
renderMathInDocument().
Both static components:
- Accept LaTeX by default and support
format="ascii-math"orformat="math-json" - Expose a
modeattribute (textstyle/displaystyle) - Lazy-load shared fonts once, defer rendering until visible via Intersection Observer, and auto-generate ARIA labels with speech-friendly text
- Provide an imperative
render()method when you need to update content programmatically

