Click any font to see a full specimen page with typography matrix, math examples, and glyph inventory.
Each font package is a single JavaScript file that replaces MathJax's default font. No MathJax CDN needed — the bundle includes everything.
From the GitHub repo, download the bundle for your chosen font. Each lives at:
mathjax-{name}/tex-mml-svg-mathjax-{name}.js
For example, for Source Sans:
mathjax-source-sans/tex-mml-svg-mathjax-source-sans.js
That single .js file (~5 MB) is all you need. It contains MathJax 4, the TeX input
processor, the SVG renderer, and all the font data.
Replace the usual MathJax CDN script tag with your bundle:
<!-- Instead of this: --> <!-- <script src="https://cdn.jsdelivr.net/npm/mathjax@4/tex-mml-svg.js"></script> --> <!-- Use this: --> <script id="MathJax-script" async src="tex-mml-svg-mathjax-source-sans.js"></script>
That's it. LaTeX math in your page will render in the chosen font:
<p>The Euler identity: \(e^{i\pi} + 1 = 0\)</p>
You can also load the bundle directly from GitHub Pages (not recommended for production, but handy for testing):
<script id="MathJax-script" async src="https://dgleich.github.io/mathjax-fonts/mathjax-source-sans/tex-mml-svg-mathjax-source-sans.js"></script>
| Font | Bundle filename |
|---|---|
| Libertinus Serif | tex-mml-svg-mathjax-libertinus.js |
| Libertinus Sans | tex-mml-svg-mathjax-libertinus-sans.js |
| CMU Sans Serif | tex-mml-svg-mathjax-lm-sans.js |
| Noto Sans | tex-mml-svg-mathjax-noto-sans.js |
| Source Sans 3 | tex-mml-svg-mathjax-source-sans.js |
| Source Code Pro | tex-mml-svg-mathjax-source-code.js |
| CMU Concrete + Euler | tex-mml-svg-mathjax-concrete-euler.js |
| Shantell Sans | tex-mml-svg-mathjax-shantell.js |