The KaTeX WordPress plugin integrates the super-fast KaTeX math typesetting engine with your WordPress website. The plugin allows you to put LaTeX in a [latex]...[/latex] shortcode, and beautiful math appears on your post or page.

The plugin also has an option to use the excellent jsDelivr CDN to load the KaTeX scripts, further increasing the performance of the plugin.

Equations in [latex display="true"]...[/latex] will be rendered in display mode (rather than inline mode) and centered on its own line.

Plugin Website


  • Various equations rendered with WP-KaTeX


  1. Upload the katex folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Use the [latex] shortcode in your posts and pages


Installation Instructions
  1. Upload the katex folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress
  3. Use the [latex] shortcode in your posts and pages
Wait – I use MathJax and it’s fine!

KaTeX is fast. It’s really fast, compared to MathJax. In fact, it’s a staggering 35 times faster than MathJax. Your page will load much faster with KaTeX, especially if it’s heavy with equations.

How about Jetpack?

Jetpack has a LaTeX plugin that uses the WordPress.com service to render the equations. However, it uses images, which look ugly when zoomed in, or on high-DPI (“retina”) displays. Also, it depends on WordPress.com’s servers, and a lot of equations can make the page slow (too many requests).


Amazing and beautiful!

This is an amazing plugin. I tried many other LaTeX plugins, even the one provided by jetpack. None of them produce the elegant beautiful math symbols like this plugin. It works beautifully, it’s very easy to use, and over all, I highly recommend it over other LaTeX plugins. Well done to the author of this plugin, truly an amazing job.


Worked right out of the box in WP 4.3.1. Nice solution using the powerful KaTeX math rendering library.

Furthermore, I could tweak the appearance using CSS. (I felt that a particular symbol needed a little more space around, so made the change by adding one CSS adjustment in my child theme.)

Functional and self-sufficient

Elegantly functional and self-sufficient. I am not a fan of the increasing trend towards plugins that require support of off-site server resources, like Jetpack’s sending of latex to WP’s servers for processing. Anything I am dependent upon an outside server for is something that can go wrong and allows someone else to monetize my web site.

I particularly like how this plugin uses a javascript library that puts the latex rendering burden on the client browser.

This plugin does allow serving of the required javascript from offsite, but does not require it nor is it enabled by default.

Usage is simple and easy. Resources are only expended on those pages that use latex – those that don’t have no overhead.

Read all 5 reviews

Contributors & Developers

“WP-KaTeX” is open source software. The following people have contributed to this plugin.


Translate “WP-KaTeX” into your language.

Interested in development?

Browse the code or subscribe to the development log by RSS.



  • New rendering method – improved experience for users with JavaScript disabled
  • Updated KaTeX library to 0.7.0
    • Add \kern
    • Add \mod, \bmod, \pmod, and \pod
    • Add \middle
    • Add \ldots, \textellipsis, and \mathellipsis
    • Add \#, \&, \$, \%, \_, \{, and \} in text mode
    • Add \stackrel
    • Add \atop
    • Add --, ---, `, ', `‚Äč`, '', \degree, \pounds, \maltese
    • Add \mathord, \mathbin, \mathrel, \mathopen, \mathclose, \mathpunct, \mathinner, and \mathop
    • Add \textrm, \textit, \textbf, \texttt, \textsf, and \textnormal
    • Combine adjacent spans in text mode (performance)
    • Don’t apply italic correction in text mode (bug fix)
    • Fix the MathML fence attribute on delimiters (bug fix)
    • Fix converting bins to ords (bug fix)
    • Make \llap and \rlap produce ords (bug fix)
    • Fix spacing around \color, \mathbf, and in other places (bug fix)
    • Add per-style font metrics (bug fix)
    • Fix subscript positioning with changed-font bases (bug fix)
    • Fix superscript/subscript centering in fractions (bug fix)


  • Removed dependency on jQuery
  • Code cleanup
  • Accessibility improvements
  • Minor text fixes


  • Update KaTeX library to 0.6.0
    • Introduce the aligned environment.
    • Add \gt and \lt.
    • Fix sub- and super-scripts not being centered inside of math display.
    • Add \underline support.
    • Remove 3px border around rules (bug fix).
    • Set the greediness of font functions to 2 so that e^\mathbf{x} will parse (bug fix).
  • Optimize script loading (again)


  • Fix issue with wptexturize causing syntax errors
  • Optimize script loading


  • Update KaTeX library to 0.5.1
    • Add the font changing functions \mathrm, \mathit, \mathbf, \mathbb, \mathcal, \mathfrak, \mathscr, \mathsf, \mathtt, \Bbb, \bold, and \frak.
    • Add the \limits and \nolimits functions.
    • Add support for | column delimiters in the array environment.
    • Add \lVert and \rVert symbols.
    • Allow \lvert, \rvert, \lVert, \rVert, \lgroup, \rgroup, \lmoustache, and \rmoustache in delimiters.
    • Fix the spacing of the \ulcorner, \urcorner, \llcorner, \lrcorner, \barwedge, \veebar, \circledcirc, \boxdot, \uparrow, \Uparrow, \downarrow, \Downarrow, \updownarrow, \Updownarrow, and \ldots symbols.


  • Update KaTeX library to 0.5.0
    • Add the cases and Bmatrix environments.
    • Add \checkmark and \circledR symbols.
    • Improve display of fonts at smaller sizes.
    • Improve the spacing inside fractions.
    • Correctly set environments to the ord type.


  • Update KaTeX library to 0.4.3
    • Added support for some \begin ... \end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix
    • Added support for optional \sqrt arguments, e.g. \sqrt[3]{x}

  • New: render equations in display mode with [latex display="true"]...[/latex]
  • Update KaTeX library to 0.3.0
    • Added accessibility through the use of MathML
    • Add support for new symbols: \#, \&, \aleph, \amalg, \approxeq, \ast, \asymp, \backepsilon, \backprime, \backsim, \backsimeq, \Bbbk, \because, \beth, \between, \bigcirc, \bigstar, \blacklozenge, \blacksquare, \blacktriangle, \blacktriangledown, \blacktriangleleft, \blacktriangleright, \bowtie, \Box, \boxminus, \boxplus, \boxtimes, \bullet, \bumpeq, \Bumpeq, \Cap, \cdotp, \centerdot, \circeq, \circlearrowleft, \circlearrowright, \circledast, \circleddash, \circledS, \clubsuit, \complement, \Cup, \curlyeqprec, \curlyeqsucc, \curlyvee, \curlywedge, \curvearrowleft, \curvearrowright, \dag, \daleth, \dashleftarrow, \dashrightarrow, \dashv, \ddag, \ddagger, \diagdown, \diagup, \Diamond, \diamondsuit, \digamma, \divideontimes, \doteq, \Doteq, \doteqdot, \dotplus, \doublebarwedge, \doublecap, \doublecup, \downdownarrows, \downharpoonleft, \downharpoonright, \ell, \eqcirc, \eqsim, \eqslantgtr, \eqslantless, \equiv, \eth, \exists, \fallingdotseq, \Finv, \flat, \forall, \frown, \Game, \geqq, \geqslant, \gg, \ggg, \gggtr, \gimel, \gnapprox, \gneq, \gneqq, \gnsim, \gtrapprox, \gtrdot, \gtreqless, \gtreqqless, \gtrless, \gtrsim, \gvertneqq, \hbar, \heartsuit, \hookleftarrow, \hookrightarrow, \hslash, \Im, \intercal, \Join, \ldotp, \leadsto, \Leftarrow, \leftarrowtail, \leftharpoondown, \leftharpoonup, \leftleftarrows, \leftrightarrow, \Leftrightarrow, \leftrightarrows, \leftrightharpoons, \leftrightsquigarrow, \leftthreetimes, \leqq, \leqslant, \lessapprox, \lessdot, \lesseqgtr, \lesseqqgtr, \lessgtr, \lesssim, \lgroup, \lhd, \ll, \llcorner, \Lleftarrow, \lll, \llless, \lmoustache, \lnapprox, \lneq, \lneqq, \lnsim, \longleftarrow, \Longleftarrow, \longleftrightarrow, \Longleftrightarrow, \longmapsto, \longrightarrow, \Longrightarrow, \looparrowleft, \looparrowright, \lozenge, \lrcorner, \Lsh, \ltimes, \lvertneqq, \mapsto, \measuredangle, \mho, \mid, \mp, \multimap, \nabla, \natural, \ncong, \nearrow, \nexists, \ngeqq, \ngeqslant, \ngtr, \ni, \nleftarrow, \nLeftarrow, \nleftrightarrow, \nLeftrightarrow, \nleqq, \nleqslant, \nless, \nmid, \nparallel, \nprec, \npreceq, \nrightarrow, \nRightarrow, \nshortmid, \nshortparallel, \nsim, \nsubseteqq, \nsucc, \nsucceq, \nsupseteqq, \ntriangleleft, \ntrianglelefteq, \ntriangleright, \ntrianglerighteq, \nvdash, \nvDash, \nVdash, \nVDash, \nwarrow, \ominus, \owns, \parallel, \perp, \phantom, \pitchfork, \prec, \precapprox, \preccurlyeq, \preceq, \precnapprox, \precneqq, \precnsim, \precsim, \propto, \Re, \restriction, \rgroup, \rhd, \Rightarrow, \rightarrowtail, \rightharpoondown, \rightharpoonup, \rightleftarrows, \rightleftharpoons, \rightrightarrows, \rightsquigarrow, \rightthreetimes, \risingdotseq, \rmoustache, \Rrightarrow, \Rsh, \rtimes, \searrow, \sharp, \shortmid, \shortparallel, \sim, \simeq, \smallfrown, \smallsetminus, \smallsmile, \smile, \spadesuit, \sphericalangle, \sqcap, \sqcup, \sqsubset, \sqsubseteq, \sqsupset, \sqsupseteq, \square, \Subset, \subseteqq, \subsetneq, \subsetneqq, \succ, \succapprox, \succcurlyeq, \succeq, \succnapprox, \succneqq, \succnsim, \succsim, \Supset, \supseteqq, \supsetneq, \supsetneqq, \swarrow, \therefore, \thickapprox, \thicksim, \triangledown, \trianglelefteq, \triangleq, \trianglerighteq, \twoheadleftarrow, \twoheadrightarrow, \ulcorner, \unlhd, \unrhd, \upharpoonleft, \upharpoonright, \uplus, \upuparrows, \urcorner, \varkappa, \varpropto, \varsubsetneq, \varsubsetneqq, \varsupsetneq, \varsupsetneqq, \vartriangle, \vartriangleleft, \vartriangleright, \vdash, \vDash, \Vdash, \Vvdash, \wp, \wr, \yen


  • Fix bug with script enqueueing


  • Update the KaTeX library to version 0.1.1


  • Fix \displaystyle equations not being put on a new line


  • Initial release