ExDoc vs Sphinx
ExDoc
ex-doc.hexdocs.pmSphinx
sphinx-doc.orgSide by side
| Figure | ExDoc | Sphinx |
|---|---|---|
| Price from | — | Free |
| Free plan | — | Yes |
| Free trial | — | — |
| Open source | — | — |
| Web | — | Yes |
| Windows | — | Yes |
| macOS | — | Yes |
| Linux | — | Yes |
| API | — | Yes |
| Self-hosted | — | Yes |
| Plans published | 0 | 1 |
| Spec score · Documentation Generators | 7.0 (#30) | 8.2 (#7) |
| Integrations | ExDoc can be used with Mix, Rebar3, or through its command line interface. | Built-in extensions include GitHub Pages publishing, Graphviz graphs, and intersphinx links to other projects’ documentation. |
| License | ExDoc source code is released under the Apache 2 License, while generated contents may have different licenses based on rendering components. | The project states that its code is released under the two-clause BSD license. |
| Output formats | It can generate offline accessible HTML, Markdown including llms.txt, and EPUB documents from API documentation. | Sphinx generates HTML, LaTeX for PDF, ePub, Texinfo and other documentation formats. |
| Purpose | ExDoc generates documentation for Erlang and Elixir projects. | Sphinx generates technical documentation from structured text. |
Plans
In their own words
Sphinx
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.