# The MathJax Components

In order to make it possible to customize what parts of MathJax you include in your web pages, the MathJax code has been broken into individual pieces, called “components”. These are designed to share common code, so that you don’t download the same thing more than once, while still making it possible to only download the parts that you need. There are individual components for the various input and output processors in MathJax, for the various TeX extensions, for the contextual menu, and for other specialized pieces, such as the assistive technology support. These can be mixed and matched in whatever combinations you need.

There are some obvious combinations of components, for example, TeX input together with SVG output, or MathML input with CommonHTML output. MathJax provides a number of these common combinations as complete packages that contain everything you need to run mathjax in your page in a single file, though you can also configure additional extensions to be loaded as well.

Components provide a great deal of flexibility in determining the pieces of MathJax that you use. You can even make your own custom builds of MathJax that package exactly the pieces that you want to use. See Making a Custom Build of MathJax for more details about how to do that.

See the Loading MathJax section for details about how to specify and load MathJax components.

See the Configuring MathJax section for details about how to configure the various MathJax components.

The Components

- Combined Components
  - tex-chtml
  - tex-chtml-full
  - tex-svg
  - tex-svg-full
  - tex-mml-chtml
  - tex-mml-svg
  - mml-chtml
  - mml-svg

- Input Components
  - input/tex
  - input/mml
  - input/asciimath

- Output Components
  - output/chtml
  - output/svg

- Accessibility Components
  - a11y/semantic-enrich
  - a11y/complexity
  - a11y/explorer
  - a11y/assistive-mml

- Miscellaneous Components
  - startup
  - ui/safe
  - ui/menu
  - adaptors/liteDOM
  - core
  - loader