A documentation site generator that turns Markdown files into a website with no build step required.
sphinx-doc/sphinx
Python documentation generator that builds HTML, PDF, EPUB and other output from reStructuredText or Markdown sources.
- Stars
- 8,072
- Forks
- 2,610
- Open issues
- 1,453
- Last commit
- 8 hours ago
What is it?
Sphinx is a documentation generator that turns reStructuredText source files into polished documentation. It supports output to HTML, PDF, plain text, EPUB, TeX and manual pages, and it is built on Docutils for parsing and translation.
The tool focuses on cross-references and document structure. Functions, classes, glossary terms and other objects can be linked semantically, and documents form a tree with automatic links between siblings, parents and children. It also generates general and module indices automatically.
Sphinx handles code highlighting through Pygments and renders HTML with the Jinja 2 templating engine. Its extension ecosystem adds features such as automatic function documentation, Jupyter notebook support, and language domains for Python, C, C++, JavaScript and mathematics.
Key features
- 01Outputs HTML, PDF, plain text, EPUB, TeX and manual pages
- 02Provides semantic cross-references for functions, classes and glossary terms
- 03Builds document trees with automatic links between related pages
- 04Generates general and module indices automatically
- 05Highlights code with Pygments and renders HTML via Jinja 2 templates
- 06Extends through a plugin ecosystem, including Python, C, C++ and JavaScript language support
Use cases
- Publishing API reference documentation for a Python library
- Writing technical manuals that need PDF and HTML output from one source
- Maintaining multilingual or versioned project documentation with cross-references
Quick start
- 1
Install Sphinx from PyPI with pip
pip install -U sphinx
Things to know
- The README does not state a clear license name; the metadata lists it as NOASSERTION, though the badge shows BSD 2-Clause.
Topics
FAQ
- What is sphinx?
- Python documentation generator that builds HTML, PDF, EPUB and other output from reStructuredText or Markdown sources. Sphinx is a documentation generator that turns reStructuredText source files into polished documentation. It supports output to HTML, PDF, plain text, EPUB, TeX and manual pages, and it is built on Docutils for parsing and translation.
- Is sphinx free to use? What license does it have?
- sphinx is open source under the Other license. Check the license terms before using it in commercial products.
- Is sphinx still maintained?
- Actively maintained. The last commit to sphinx was on Oct 22, 2026.
- What can I use sphinx for?
- Publishing API reference documentation for a Python library Writing technical manuals that need PDF and HTML output from one source Maintaining multilingual or versioned project documentation with cross-references
- How do I install sphinx?
- Install Sphinx from PyPI with pip: pip install -U sphinx
- Where can I get sphinx?
- The source code and installation instructions are on GitHub: https://github.com/sphinx-doc/sphinx
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A web-based API documentation browser that combines many developer reference docs into one searchable, offline-capable interface.
A Vue- and Vite-powered static site generator for building documentation and content sites from Markdown.
A framework for building documentation websites with React.js, supporting Next.js, Astro, and Vite-based React frameworks.
A fast static site generator distributed as a single binary, with Markdown content, Sass, image processing and search built in.
Generates interactive, easy-to-read ER diagrams from your database schema, with zero-config setup via a web URL or CLI.