Skip to content
Projects

asciimath/asciimathml has 1,001 GitHub stars and 191 forks. Star changes are not measured yet. Last checked 2026-11-09 12:38 UTC. Last push 2026-07-11.

How these counts are measured

A new home for asciimathml

Measured star growth

in 24h
Update delayed
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

asciimathml

ASCIIMathML.js is a compact JavaScript program that translates simple calculator-style math expressions on a webpage to MathML.

The resulting page can be displayed with any browser that can render MathML.

You can learn more about the syntax on AsciiMath.org.

What's in the Repo

ASCIIMathML.js

This is the original javascript script to convert asciimath expressions to MathML for native browser rendering. Most modern browsers can now display MathML. Just load the script in the head or body of your website like this:

<script src="ASCIIMathML.js"></script>

You can adjust the configuration in the script itself. By default it will convert automatically on page load, grabbing any expressions between backticks, like Solve `x/2+3=5`

API

asciimath.translate(): converts all asciimath on the page.

asciimath.AMprocessNode(node): convert any asciimath delimiters inside the given HTML node.

asciimath.parseMath(string): takes an AsciiMath string and returns a MathML node.

LaTeXMathML.js

Similar to ASCIIMathML, but it only converts expressions that latex would convert.

ts/* and dist/asciimathml.js

A typescript implementation AsciiMathML, which builds dist/asciimathml.js and dist/asciimathml-server.js. See the readme in the directory for more details. This an alternate implementation of the core AsciiMath parsing from ASCIIMathML.js, but does not implement the autotranslation and autodetecting features. The asciimathml.js version includes equivalent asciimath.AMprocessNode and asciimath.parseMath functions as ASCIIMathML.js, and is intended to operate in the browser. The asciimathml-server.js version has a parseMath function that generates a MathML string rather than a DOM node, and is designed to operate serverside in node.

asciimath-based/*

See the README in the directory for more details. This directory includes alternate implementations of AsciiMath parsers.

  • ASCIIMath2TeX.js: A javascript script with functions to convert AsciiMath notation to TeX. This can also be imported into Node; see the README for info.
  • ASCIIMath2TeX.php: A PHP port of the above, to convert AsciiMath notation to TeX.

Other Implementations

There are also a number of implementation of AsciiMath parsers done by others. Here are a few (these have not been evaluated by this repo for compatibility, accuracy, or anything else):

Explore related projects