# Converting to MathJax from jsMath

MathJax is the successor to the popular jsMath package for rendering mathematics in web pages. Like jsMath, MathJax works by locating and processing the mathematics within the webpage once it has been loaded in the browser by a user viewing your web pages. If you are using jsMath with its `tex2math` preprocessor, then switching to MathJax should be easy, and is simply a matter of configuring MathJax appropriately. See the section on Loading and Configuring MathJax for details.

On the other hand, if you are using jsMath’s `<span class="math">...</span>` and `<div class="math">...</div>` tags to mark the mathematics in your document, then you should use MathJax’s `jsMath2jax` preprocessor when you switch to MathJax. To do this, include `"jsMath2jax.js"` in the extensions array of your configuration, with the jax array set to include `"input/TeX"`. For example,

    <script type="text/x-mathjax-config">
       MathJax.Hub.Config({
        extensions: ["jsMath2jax.js"]
      });
    </script>
    <script
      src="https://example.com/MathJax.js?config=TeX-AMS_CHTML">
    </script>

would load the `jsMath2jax` preprocessor, along with a configuration file that processes TeX input and produces HTML-with-CSS output.

There are a few configuration options for `jsMath2jax`, which you can find in the `config/default.js` file, or in the jsMath configuration options section.

If you are generating your jsMath documents programmatically, it would be better to convert from generating the jsMath `<span>` and `<div>` tags to producing the corresponding MathJax `<script>` tags. You would use `<script type="math/tex">` in place of `<span class="math">` and `<script type="math/tex; mode=display">` in place of `<div class="math">`. See the section on How mathematics is stored in the page for more details.