Skip to content
SPECIFICTION
Get listed

Sphinx

sphinx-doc.org

Free plan WebWindowsmacOSLinuxAPISelf-hosted
Visit sphinx-doc.org
Spec score 8.2 #7 of 37 in Documentation Generators

What it is

Sphinx is a free Python application that generates technical documentation from structured text. Authors can use reStructuredText or MyST Markdown; Markdown requires installing MyST-Parser separately. Built-in builders produce HTML, LaTeX for PDF, ePub, manual pages, Texinfo, and plain text. References can link sections, figures, tables, citations, glossaries, and code objects within one project or across projects. The autodoc extension imports documented modules and includes material from their docstrings. Themes and extensions, both built-in and third-party, add options such as diagrams, doctests, and API documentation. Other built-in extensions provide GitHub Pages publishing, Graphviz graphs, and intersphinx links. Sphinx also supports gettext-based translation and full-text search. It can be installed through Python and platform package managers, Docker, or from source, then deployed to services such as Read the Docs, GitHub Pages, GitLab Pages, Netlify, or self-hosted servers. Its code is released under the two-clause BSD license, and the project is community supported.

Spec sheet

Purpose
Sphinx generates technical documentation from structured text.Read 30 Sep 2026 · sphinx-doc.org
Free plan
YesRead 20 Sep 2026 · sphinx-doc.org
Integrations
Built-in extensions include GitHub Pages publishing, Graphviz graphs, and intersphinx links to other projects’ documentation.Read 30 Sep 2026 · sphinx-doc.org
Support
The project directs users to Stack Overflow, GitHub Discussions, GitHub Issues, or the sphinx-users mailing list for questions and problem reports.Read 30 Sep 2026 · sphinx-doc.org
License
The project states that its code is released under the two-clause BSD license.Read 30 Sep 2026 · sphinx-doc.org
Founded
2007Read 23 Sep 2026 · sphinx-doc.org
API documentation
Automatic API documentation can be generated from docstrings for Python, C++ and other software domains.Read 30 Sep 2026 · sphinx-doc.org
Authoring
Documentation can be authored in reStructuredText or MyST Markdown.Read 30 Sep 2026 · sphinx-doc.org
Cross-references
Sphinx supports references within a project and across different projects, including references to sections, figures, tables, citations, glossaries, and code objects.Read 30 Sep 2026 · sphinx-doc.org
Deployment integrations
The documentation lists Read the Docs, GitHub Pages, GitLab Pages, Netlify and self-hosted servers as deployment options.Read 30 Sep 2026 · sphinx-doc.org
Docker
Official Docker images include sphinxdoc/sphinx for standard use and sphinxdoc/sphinx-latexpdf for LaTeX PDF builds.Read 30 Sep 2026 · sphinx-doc.org
Extensions
Sphinx provides extension mechanisms and built-in and third-party extensions for tasks such as diagrams and code testing.Read 30 Sep 2026 · sphinx-doc.org
Installation
Sphinx is a Python application installable through PyPI, Conda, Linux package managers, Homebrew or MacPorts, Chocolatey, Docker, or from source.Read 30 Sep 2026 · sphinx-doc.org
Internationalization
Sphinx supports translating documentation into multiple languages.Read 30 Sep 2026 · sphinx-doc.org
License and warranty
Sphinx code is released under the two-clause BSD license, with warranty disclaimers in the license text.Read 30 Sep 2026 · github.com
Output formats
Sphinx generates HTML, LaTeX for PDF, ePub, Texinfo and other documentation formats.Read 30 Sep 2026 · sphinx-doc.org
Project audience
The documentation describes Sphinx as community supported and welcomes contributions from anyone.Read 30 Sep 2026 · sphinx-doc.org
Support model
Sphinx is community supported and welcomes contributions from anybody, with tutorials, forums, examples and contributor resources.Read 30 Sep 2026 · sphinx-doc.org
Themes
Sphinx includes built-in and third-party HTML themes and supports custom themes.Read 30 Sep 2026 · sphinx-doc.org
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.Read 30 Sep 2026 · sphinx-doc.org
Web API
Sphinx provides a Python API for integrating documentation into web applications, but its Web Support feature has had limited adoption and development.Read 30 Sep 2026 · sphinx-doc.org

Plans and prices

Sphinx open-source software Free BSD 2-Clause license · install locally or self-host Read 30 Sep 2026 · github.com

Every Sphinx plan and price →

Strong points and limits

Strong points

  • Generates HTML, PDF, ePub, manual pages, and plain text.
  • Links references within and across projects.
  • Autodoc can include module docstrings.
  • Free under the two-clause BSD license.

Limits

  • Markdown requires separately installed MyST-Parser.
  • Web Support has had limited adoption and development.
  • The project is community supported.

Who it suits

Sphinx suits developers and documentation teams building structured technical guides, especially those who need cross-references or generated API documentation. It also fits projects that need multiple output formats or deployment options.

Sphinx in depth

Read the full write-up

Overview

Sphinx turns structured text into technical documentation, with a build process that can serve both project guides and API references. It suits teams that want control over source files, cross-project links, and multiple output formats; its breadth is compelling, though Markdown authors must install an extra parser.

Community support and a permissive BSD 2-Clause license make it a straightforward choice for projects comfortable maintaining their own documentation workflow.

Key features

Authoring and output

Authors can use reStructuredText or MyST Markdown. Markdown requires the separately installed MyST-Parser, so teams choosing it should account for that dependency in setup and maintenance. Built-in builders produce HTML, LaTeX for PDF, ePub, manual pages, Texinfo, and plain text. That range is useful when documentation must reach readers in more than a website, without requiring a separate generator for each format.

References and API documentation

Sphinx can link sections, figures, tables, citations, glossaries, and code objects within a project or across projects. This is valuable for documentation sets whose material is distributed across repositories or components: readers can follow related concepts without authors having to duplicate content. The autodoc extension imports Python modules and incorporates their docstrings, making Sphinx a natural fit when API explanations live alongside Python code.

Themes, extensions, and publishing

Built-in and third-party themes, including custom themes, shape HTML output; extensions add capabilities such as diagrams and doctests. Built-in integrations include Graphviz graphs, GitHub Pages publishing, and intersphinx links to other projects' documentation. Deployment options include Read the Docs, GitHub Pages, GitLab Pages, Netlify, and self-hosted servers. This flexibility suits teams willing to choose and maintain a build and publishing setup rather than expecting a single hosted service to make those decisions.

Internationalization and web support

Gettext catalogs provide a mechanism for translating documents, which helps teams maintain localized documentation. Sphinx also offers a Python API for embedding documentation in web applications, but its Web Support feature has had limited adoption and development; teams choosing it as an application framework should weigh that limitation carefully.

Installation and support

Sphinx is a Python application installable through PyPI, Conda, Linux package managers, Homebrew or MacPorts, Chocolatey, Docker, or source. Official Docker images cover standard use and LaTeX PDF builds. The project is community supported, with help through Stack Overflow, GitHub Discussions, GitHub Issues, and the sphinx-users mailing list. That model welcomes contributions but is distinct from a commercial support commitment.

Pricing

Sphinx is free. The Sphinx open-source software plan costs nothing under the BSD 2-Clause license and can be installed locally or self-hosted. It includes full-text search, and there are no paid tiers or seat, quota, trial, or renewal terms to factor into the choice. This is a strong fit for individuals and teams that can manage their own builds and hosting; organizations seeking vendor-backed support or a managed publishing service should look elsewhere for that arrangement.

Platforms

Sphinx supports API, Linux, macOS, self-hosted, web, and Windows environments. Its installation options span common package managers, containers, and source builds, giving teams more than one way to fit it into their existing environment.

Who it's for

Choose Sphinx for technical documentation that benefits from structured source, rich cross-referencing, Python docstring integration, or several output formats. It is particularly well suited to software projects that want documentation built and deployed through their own workflows. It is less suitable for teams that need a mature embedded web-support feature or want a hosted product with a commercial support relationship.

Pros and cons

Pros

Broad output coverage: HTML, PDF via LaTeX, ePub, manual pages, Texinfo, and plain text support different reader needs from one documentation system.

Strong linking: Cross-references span common document elements and can connect projects, reducing the need to repeat related material.

Python API documentation: autodoc can draw documentation from module docstrings, keeping API material close to the code it describes.

Flexible build and deployment: Themes, extensions, Docker images, and multiple deployment options give teams room to fit Sphinx into their workflow.

No software cost: The free BSD-licensed plan avoids subscription and seat costs.

Cons

Markdown has an extra dependency: MyST-Parser must be installed separately, adding a setup step for Markdown-based teams.

Web Support is a weak foundation: Its limited adoption and development make Sphinx a poor choice when the central requirement is embedding documentation in a web application.

Community support is the model: Help comes through community channels rather than a stated commercial support plan.

Alternatives

Asciidoctor is another free, open-source documentation option; choose it when its MIT license and core HTML 5, DocBook 5, and man-page converters better match the project. mdBook is a free, open-source alternative for teams targeting Linux, macOS, or Windows. Doxygen is a free and open-source option with Windows, Linux, and macOS downloads.

Scalar is worth considering for API documentation teams that want a free tier covering up to 3 APIs, 1 SDK with up to 25 endpoints, 1 editor seat, and 50 Agent Scalar credits, or a paid Pro plan at $150 a month billed $125/. Natural Docs is another free, open-source option under AGPL version 3. Swift Package Manager, Kotlin/JS, and Dart pub are also listed among the alternatives.

Browse Documentation Generators, Developer Documentation Software, Technical Documentation Software, and Knowledge base software for related categories.

Verdict

Choose Sphinx if your team wants a free, extensible system for building cross-linked technical documentation in several formats, especially when Python docstrings are part of the API reference workflow. Its main advantages are control and breadth without software fees. Look elsewhere if you need polished embedded web support or commercial support as part of the package.

Verdict

Sphinx offers extensive authoring, linking, and output options for technical documentation at no software cost. Plan for the separate Markdown parser if you choose that authoring format.

Where Specifiction places it

Alternatives to SphinxAll alternatives →