Sphinx
sphinx-doc.org
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
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
- Documentation Generators#7 of 378.2
- Knowledge base software#61 of 1388.2
- Developer Documentation Software#12 of 278.2
- Technical Documentation Software#18 of 378.1
- Technical Writing Platforms#16 of 278.1