Best Sphinx extensions list

This is a curated and opinionated list of Sphinx extensions that I found useful while working with different Sphinx documentation projects. All the extension listed here have their own page showing a working live example and its minimum configuration to make it work in your docs.

Extensions

sphinx-prompt

Sphinx directive (.. prompt::) to add unselectable prompt ($, >>>, etc) in code blocks.

sphinxemoji

Use emoji codes in your Sphinx documentation.

sphinx-copybutton

Adds a little “Copy” button to the top-right of your code blocks.

sphinx-favicon

Adds custom favicons to your Sphinx documentation.

myst-parser

Powerful Markdown flavor for your Sphinx documentation without loosing the power of Sphinx itself.

sphinxcontrib-httpdomain

Adds new Sphinx directives to document APIs in a very detailed way.

sphinx-autobuild

Rebuilds the documentation when a change is detected and reload the page to see the changes.

sphinx-autoapi

Auto documents your API code without executing the code itself (as sphinx.autodoc does).

nbsphinx

Renders Jupyter Notebooks as documentation pages.

sphinx-notfound-page

Renders nice 404 pages respecting all the look & feel of your documentation.

sphinx-version-warning

Adds a warning banner at the top if the reader is reading an old version of your documentation.

sphinx-hoverxref

Adds tooltips on cross references of the documentation with the content of the linked section.

sphinx-last-updated-by-git

Adds the “last updated” date at the bottom of each documentation page (obtained from the Git commit date).

sphinxext-opengraph

Generates Open Graph metadata ✨ for each page of your documentation.

Themes

Visit https://sphinx-themes.org/ for a full list of live themes!

Tip

Each page have a “Show Source” link at the right navigation bar. You can click on it to see what you need to write in the source file to make it render as you see.

See also

Sphinx already has a list of Built-in extensions that are really useful. Besides, there is also a list of Third-party extensions in that page but unfortunately, it’s a bit out of date.

Besides the official documentation, there is an Awesome Sphinx site that automatically collects Sphinx extensions and let you search them by types and tags.