- Home
- Documentation Generators
- Sphinx
Sphinx
Sphinx · founded 2007
What it is
Sphinx generates technical documentation from structured text. It supports reStructuredText and MyST Markdown; using Markdown requires installing MyST-Parser separately. Its built-in builders can produce HTML, LaTeX for PDF, ePub, manual pages, Texinfo, and plain text. References can connect material within one project or across projects, including sections, figures, tables, citations, glossaries, and code objects. The autodoc extension imports modules and incorporates documentation from their docstrings. Built-in and third-party themes and extensions add options such as diagrams, doctests, and API documentation. Sphinx also includes integrations for GitHub Pages publishing, Graphviz graphs, and links to other projects’ documentation. It supports document translation through gettext catalogs and provides full-text search. The Python application can be installed through package managers, Docker, or from source, and deployed to services such as Read the Docs or self-hosted servers. The project is community supported, and its code is released under the two-clause BSD license. Sphinx is free.
For and against
For
- Builds HTML, PDF, ePub, and other formats
- Links references within and across projects
- Autodoc can include module docstrings
- Supports themes, extensions, and full-text search
Against
- Markdown requires separately installed MyST-Parser
- Web Support has had limited adoption and development
The verdict
Sphinx offers a broad documentation toolset, from multiple output formats to API references and translation support. It is free under the two-clause BSD license, with Markdown authoring requiring a separate parser.
Who it suits
Sphinx suits developers and teams creating technical documentation from structured text, especially when they need multiple output formats or cross-project references. It also supports API documentation and translation workflows.
Plans and prices
Sphinx open-source software
BSD 2-Clause license · install locally or self-host
Read 30 Sep 2026 · github.com
On the record
- API documentation
- Automatic API documentation can be generated from docstrings for Python, C++ and other software domains.sphinx-doc.org · read 30 Sep 2026
- Authoring
- Documentation can be authored in reStructuredText or MyST Markdown.sphinx-doc.org · read 30 Sep 2026
- Cross-references
- Sphinx supports references within a project and across different projects, including references to sections, figures, tables, citations, glossaries, and code objects.sphinx-doc.org · read 30 Sep 2026
- Deployment integrations
- The documentation lists Read the Docs, GitHub Pages, GitLab Pages, Netlify and self-hosted servers as deployment options.sphinx-doc.org · read 30 Sep 2026
- Docker
- Official Docker images include sphinxdoc/sphinx for standard use and sphinxdoc/sphinx-latexpdf for LaTeX PDF builds.sphinx-doc.org · read 30 Sep 2026
- Extensions
- Sphinx provides extension mechanisms and built-in and third-party extensions for tasks such as diagrams and code testing.sphinx-doc.org · read 30 Sep 2026
- Installation
- Sphinx is a Python application installable through PyPI, Conda, Linux package managers, Homebrew or MacPorts, Chocolatey, Docker, or from source.sphinx-doc.org · read 30 Sep 2026
- Integrations
- Built-in extensions include GitHub Pages publishing, Graphviz graphs, and intersphinx links to other projects’ documentation.sphinx-doc.org · read 30 Sep 2026
- Internationalization
- Sphinx supports translating documentation into multiple languages.sphinx-doc.org · read 30 Sep 2026
- License
- The project states that its code is released under the two-clause BSD license.sphinx-doc.org · read 30 Sep 2026
- License and warranty
- Sphinx code is released under the two-clause BSD license, with warranty disclaimers in the license text.github.com · read 30 Sep 2026
- Output formats
- Sphinx generates HTML, LaTeX for PDF, ePub, Texinfo and other documentation formats.sphinx-doc.org · read 30 Sep 2026
- Project audience
- The documentation describes Sphinx as community supported and welcomes contributions from anyone.sphinx-doc.org · read 30 Sep 2026
- Purpose
- Sphinx generates technical documentation from structured text.sphinx-doc.org · read 30 Sep 2026
- Support
- The project directs users to Stack Overflow, GitHub Discussions, GitHub Issues, or the sphinx-users mailing list for questions and problem reports.sphinx-doc.org · read 30 Sep 2026
- Support model
- Sphinx is community supported and welcomes contributions from anybody, with tutorials, forums, examples and contributor resources.sphinx-doc.org · read 30 Sep 2026
- Themes
- Sphinx includes built-in and third-party HTML themes and supports custom themes.sphinx-doc.org · read 30 Sep 2026
- Themes and extensions
- Sphinx supports built-in and third-party themes and extensions, including extensions for diagrams, doctests, API documentation, and links to other projects’ documentation.sphinx-doc.org · read 30 Sep 2026
The review
Overview
Sphinx turns structured text into technical documentation, with the option to publish the same project in several formats. It suits developers and documentation teams that want cross-linked material, API references, and control over their build and deployment. Its breadth is compelling, though Markdown authors must install MyST-Parser separately.
Key features
Writing and building
Authors can use reStructuredText or MyST Markdown, then build HTML, LaTeX for PDF, ePub, manual pages, Texinfo, or plain text. That range makes Sphinx a strong fit when documentation needs to travel beyond a website; teams focused on Markdown should account for the additional parser in their setup.
Cross-references and APIs
References can connect sections, figures, tables, citations, glossaries, and code objects, within one project or across projects. This is useful for documentation that spans related repositories or needs navigable links between concepts. The autodoc extension imports Python modules and incorporates their docstrings, helping teams keep API material alongside the code it describes.
Themes, extensions, and publishing
Built-in, third-party, and custom HTML themes let teams shape rendered documentation. Extensions cover tasks such as diagrams and doctests, while built-in options include Graphviz graphs, GitHub Pages publishing, and intersphinx links to other projects. Deployment options include Read the Docs, GitHub Pages, GitLab Pages, Netlify, and self-hosted servers.
Translation and search
Gettext catalogs provide a mechanism for translating documents, and Sphinx includes full-text search. These capabilities help teams maintain and navigate larger documentation collections, though translation still requires a catalog-based workflow.
Pricing
Sphinx is free: the open-source software costs nothing under the BSD 2-Clause license. It can be installed locally or self-hosted, with no seat or usage cap specified in the plan. This makes it a straightforward option for individuals and teams that can manage their own documentation pipeline. There are no paid Sphinx tiers or trial terms to weigh.
Installation choices include PyPI, Conda, Linux package managers, Homebrew or MacPorts, Chocolatey, Docker, and source. Official Docker images cover standard use and LaTeX PDF builds. The project is community supported, with questions and problem reports directed to Stack Overflow, GitHub Discussions, GitHub Issues, or the sphinx-users mailing list; teams seeking a paid vendor support plan should look elsewhere.
Platforms
Sphinx supports Linux, macOS, and Windows, as well as API, web, and self-hosted use. Its Python API can integrate documentation into web applications, but the Web Support feature has seen limited adoption and development, so it is not the strongest reason to choose Sphinx for an application-embedded documentation experience.
Who it's for
Sphinx is best for technical teams that maintain text-based documentation with Python API material, multiple output needs, or references spanning projects. It is less suitable for teams that want Markdown parsing without an extra dependency, or application-focused web support as a mature core capability.
Pros and cons
- Broad output selection: HTML, PDF via LaTeX, ePub, manual pages, Texinfo, and plain text cover web, print, and command-line needs.
- Deep linking and API support: Cross-project references and autodoc help connect conceptual documentation to code and related projects.
- Extensible publishing: Themes, extensions, and several deployment paths suit teams with specific rendering or build workflows.
- Markdown has an extra dependency: MyST-Parser must be installed separately, adding setup and maintenance work.
- Web Support is a weak point: Limited adoption and development make it a poor centerpiece for embedded documentation in web applications.
Alternatives
Asciidoctor is another free open-source choice if its MIT license and core converters for HTML 5, DocBook 5, and man pages better match the required formats.
DocFX is worth considering for a free static-site generator when a .NET SDK 8.0 or higher is already part of the toolchain.
MkDocs is another free option for teams comparing documentation generators across Linux, macOS, and self-hosted use.
Scalar may suit API teams wanting a freemium product: its free plan covers up to 3 APIs, 1 SDK of up to 25 endpoints, 1 editor seat, and 50 Agent Scalar credits.
Stoplight Elements is an alternative for teams that want open-source API documentation building blocks to embed in an existing CMS.
mdBook is another free, open-source option for Linux, macOS, and Windows.
Doxygen is another free option if its GPL-licensed software and Windows, Linux, and macOS downloads fit the project.
Redocly is an alternative for teams seeking a paid API documentation product, with a free plan and trial also offered.
Browse more options in Documentation Generators, Developer Documentation Software, Technical Documentation Software, and Knowledge base software.
Verdict
Choose Sphinx if your team wants a free, extensible documentation build system with cross-project links, Python docstring support, and output beyond the web. Its main trade-off is the setup and upkeep of a build workflow, including a separate parser for Markdown. Teams that want turnkey Markdown authoring or mature web-embedded documentation should consider another tool.