Install #

Math.js can be installed via npm:

npm install mathjs

When installed globally with npm (using the -g option), math.js is available as a command line application mathjs, see documentation on Command Line Interface. Math.js ships with built-in TypeScript type definitions.

Download #

Math.js can be downloaded or linked from various content delivery networks:

CDN Url
unpkg https://unpkg.com/mathjs@12.4.1/
cdnjs https://cdnjs.com/libraries/mathjs
jsDelivr https://www.jsdelivr.com/package/npm/mathjs
PageCDN https://pagecdn.com/lib/mathjs

Or download the full bundle directly from unpkg:

math.js (version 12.4.1, 200 kB, minified and gzipped) and if needed the source map

Too large for you? Create your own custom bundle.

Web Service #

Math.js is available as a RESTful web service: https://api.mathjs.org

Extensions #

Here some notable extensions for mathjs:

Extension Description
mathsteps A step-by-step math solver library that is focused on pedagogy (how best to teach). The math problems it focuses on are pre-algebra and algebra problems involving simplifying expressions.
mathjs‑expression‑parser This custom build of mathjs contains just the expression parser and basic arithmetic functions for numbers. About four times as small as the full mathjs library.
mathjs-simple-integral Extends Math.js to be able to compute simple integrals.
math.diff.js Symbolic differentiation plugin for Math.js
postcss-math PostCSS plugin for making calculations with math.js

Other math libraries #

Here some other interesting JavaScript math libraries. Some can be imported into math.js using math.import.

Extension Description
math‑expression‑evaluator An extremely efficient, flexible and amazing evaluator for Math expression in Javascript.
numbers.js Advanced Mathematics Library for Node.js and JavaScript
numeric.js Numerical analysis in Javascript
decimal.js An arbitrary-precision Decimal type for JavaScript. Used by mathjs for BigNumber support.
ndarray Multidimensional arrays for JavaScript
Algebrite Computer Algebra System in Javascript (Coffeescript)
algebra.js Build, display, and solve algebraic equations
Nerdamer Symbolic Math for Javascript
numeral-js A javascript library for formatting and manipulating numbers
Cortex Compute Engine The Cortex Compute Engine can parse LaTeX to MathJSON, serialize MathJSON to LaTeX, format, simplify and evaluate MathJSON expressions

History #

A changelog describing the changes with each release is available on the page History.

Browser support #

Math.js works on any ES5 compatible JavaScript engine: node.js, Chrome, Firefox, Safari, Edge, and IE11.

Though there is no official support for older browsers, math.js should still work on older browsers when using the es5-shim.

Source code #

The source code of math.js is available on GitHub: https://github.com/josdejong/mathjs.

License #

Math.js is open source and licensed under the Apache 2.0 License

Fork me on GitHub