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 work | Maths + live LaTeX | Visual | LaTeX code | Image capture | Visual |
| Edits flow both ways, live | Yes | — | Compile step | — | — |
| Auto-suggestion as you type | Commands and equations | — | Commands only | — | — |
| Drag-to-size matrix builder | Yes | Yes | By hand | — | Yes |
| Paste MathML in as an equation | Yes | Yes | — | — | Well-formed only |
| Handwriting and image capture | Not yet | Yes | — | Best in class | — |
| Toolbar scales to any size | Yes | 3 fixed sizes | — | — | — |
| Built-in picture editor | Yes | — | By hand | — | General drawing |
| Built-in chemical structure editor | Yes | Formulas only | By hand | — | — |
| Customise which panels appear | Yes | Yes | — | — | Preset categories |
| Deployment | |||||
| LaTeX, MathML, SVG and PNG | All four | Limited | LaTeX | Yes | — |
| Formatted for wikis and forums | Yes | — | — | — | — |
| Shareable equation link | Yes | — | Yes | — | — |
| Paste into Word as editable maths | Yes, as MathML | Via plugin | — | Yes | Native |
| Accessibility | |||||
| Spoken description generated | Yes | Partial | — | — | Partial |
| Published screen-reader tests | Yes | — | — | — | — |
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 supported | 1,159 | 1,302 | 1,033 | 1,254 | 1,284 |
| Packages | mhchem | mhchem, chemfig, physics, picture | mhchem | physics and more | mhchem, physics |
| Output | |||||
| MathML | Yes | Yes | (accessibility) | Yes | Yes |
| SVG | Via fxTeX Server | Yes, in the browser | — | Yes | — |
| PNG | Via fxTeX Server | Via fxTeX Server | — | — | — |
| Via fxTeX Server | Via fxTeX Server | — | — | — | |
| Accessibility | |||||
| Generated spoken text | Yes | Yes | — | Yes | — |
| Published screen-reader tests | Yes | Yes | — | — | — |
| Payload that costs, gzipped | 43 kB | 110 kB | 75 kB | 281 kB | 49 kB |
| Extra packages, gzipped | mhchem included | mhchem +6.1 kB, physics +2.9 kB, chemfig +112 kB, picture +38 kB | mhchem +8.4 kB | mhchem +10.2 kB, physics +6.1 kB | mhchem +8.2 kB, physics +1.6 kB |
| Deployment | |||||
| Server-side rendering | Node, HTTP, Docker | Node, HTTP, Docker | Node | Node | Node |
| Hosted service, no install | Yes | Yes | — | — | — |
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.
