How we compare

Delivering equations to over 139,000 websites since 2005. Two comparisons, because these are two different products: the editor people write equations in, and the rendering engine that puts them on a page.

The editor

Against the tools people otherwise reach for.

Equation Editor MathType Overleaf Mathpix Word
Writing the equation
How you workMaths + live LaTeXVisualLaTeX codeImage captureVisual
Edits flow both ways, liveYes—Compile step——
Auto-suggestion as you typeCommands and equations—Commands only——
Drag-to-size matrix builderYesYesBy hand—Yes
Paste MathML in as an equationYesYes——Well-formed only
Handwriting and image captureNot yetYes—Best in class—
Toolbar scales to any sizeYes3 fixed sizes———
Built-in picture editorYes—By hand—General drawing
Built-in chemical structure editorYesFormulas onlyBy hand——
Customise which panels appearYesYes——Preset categories
Deployment
LaTeX, MathML, SVG and PNGAll fourLimitedLaTeXYes—
Formatted for wikis and forumsYes————
Shareable equation linkYes—Yes——
Paste into Word as editable mathsYes, as MathMLVia plugin—YesNative
Accessibility
Spoken description generatedYesPartial——Partial
Published screen-reader testsYes————

One honest gap. Handwriting and image capture is Mathpix's own speciality and we do not attempt it yet.

Pasting into Word needs no plugin and no add-in: copy the equation as MathML and Word converts it to its own equation format on arrival, editable in place. That is Word's own import doing the work, so it depends on the version you are running.

The rendering engine

fxTeX puts maths on a page. It is not an editor, so here it is against the other browser engines that do the same job. It comes two ways: fxTeX, the free script, and fxTeX Pro, the same converter compiled to WebAssembly for your licence - faster, and with optional packages.

fxTeX fxTeX Pro KaTeX MathJax Temml
Input
LaTeX commands supported1,1591,3021,0331,2541,284
Packagesmhchemmhchem, chemfig, physics, picturemhchemphysics and moremhchem, physics
Output
MathMLYesYes(accessibility)YesYes
SVGVia fxTeX ServerYes, in the browser—Yes—
PNGVia fxTeX ServerVia fxTeX Server———
PDFVia fxTeX ServerVia fxTeX Server———
Accessibility
Generated spoken textYesYes—Yes—
Published screen-reader testsYesYes———
Payload that costs, gzipped43 kB110 kB75 kB281 kB49 kB
Extra packages, gzippedmhchem includedmhchem +6.1 kB, physics +2.9 kB, chemfig +112 kB, picture +38 kBmhchem +8.4 kBmhchem +10.2 kB, physics +6.1 kBmhchem +8.2 kB, physics +1.6 kB
Deployment
Server-side renderingNode, HTTP, DockerNode, HTTP, DockerNodeNodeNode
Hosted service, no installYesYes———

MathJax's accessibility is genuinely excellent and in places ahead of ours — the claim is not that we read maths better, but that fxTeX matches it at a sixth of the payload, and fxTeX Pro delivers its output, spoken text included, 170 times faster: 5.3 ms against MathJax's 904 ms for the 57 equations of our benchmark. KaTeX emits MathML alongside its HTML for screen readers rather than as its rendering path.

The payload is each engine's script as a reader downloads it, gzipped: for fxTeX Pro that is its loader (14 kB) and the WebAssembly converter it runs (96 kB). Fonts and stylesheets are left out for every engine. Packages are on top of that, and only for a page that uses them: fxTeX Pro's when a page names them, MathJax's when an equation first needs one, KaTeX's and Temml's as a script tag of their own. Measured for the same versions as the payload: KaTeX 0.16.11, MathJax 4, Temml 0.13.5 (whose physics extension ships unminified). fxTeX Pro draws SVG with a layout engine of its own (59 kB) that it fetches only for a page that asks for SVG output.

The command counts are measured, not copied from each project's documentation. We took every command any of the engines defines, 1,752 in all, tried each one in each engine, and counted those that render without an error. Each engine ran with the extensions its own project ships: mhchem for fxTeX, which has no optional packages; the optional mhchem, chemfig and physics packages for fxTeX Pro; mhchem for KaTeX; every TeX package for MathJax, physics included; mhchem, physics and texvc for Temml. Commands fxTeX accepts but ignores, such as \newcommand, are not counted, and neither are environments such as pmatrix. Versions: KaTeX 0.19, MathJax 3.2, Temml 0.13.5. Every one of fxTeX's is listed, with an example, under Supported commands.

Try it rather than take our word for it

The editor is on the home page, the speed comparison runs in your own browser, and the accessibility claims have their own published test bench — with more on accessible maths for the web.