diff --git a/nbconvert/exporters/html.py b/nbconvert/exporters/html.py
index fb87f79e8..e05db701d 100644
--- a/nbconvert/exporters/html.py
+++ b/nbconvert/exporters/html.py
@@ -113,7 +113,7 @@ class HTMLExporter(TemplateExporter):
).tag(config=True)
mathjax_url = Unicode(
- "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/latest.js?config=TeX-AMS_CHTML-full,Safe",
+ "https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js",
help="""
URL to load Mathjax from.
diff --git a/share/templates/base/mathjax3.html.j2 b/share/templates/base/mathjax3.html.j2
new file mode 100644
index 000000000..e858779c0
--- /dev/null
+++ b/share/templates/base/mathjax3.html.j2
@@ -0,0 +1,34 @@
+{%- macro mathjax(url="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js") -%}
+
+
+
+
+
+
+{%- endmacro %}
diff --git a/share/templates/classic/index.html.j2 b/share/templates/classic/index.html.j2
index ec575b220..1e56df9a9 100644
--- a/share/templates/classic/index.html.j2
+++ b/share/templates/classic/index.html.j2
@@ -1,5 +1,5 @@
{%- extends 'base.html.j2' -%}
-{% from 'mathjax.html.j2' import mathjax %}
+{% from 'mathjax3.html.j2' import mathjax %}
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
{%- block header -%}
diff --git a/share/templates/lab/index.html.j2 b/share/templates/lab/index.html.j2
index 4a6bb8663..2f535cae4 100644
--- a/share/templates/lab/index.html.j2
+++ b/share/templates/lab/index.html.j2
@@ -1,5 +1,5 @@
{%- extends 'base.html.j2' -%}
-{% from 'mathjax.html.j2' import mathjax %}
+{% from 'mathjax3.html.j2' import mathjax %}
{% from 'jupyter_widgets.html.j2' import jupyter_widgets %}
{%- block header -%}