The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs. Note that many of the generators listed are no longer maintained.
General information
Basic general information about the generators, including: creator or company, license, and price.
<!-- In each table, link one (often 1st) instance of terms, remove other WP:OVERLINK(s). -->
{| class="wikitable sortable" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center;"
|- style="background: #ececec"
! Name
! Creator
! Input format
! Languages (alphabet order)
! OS support
! First public release date
! Latest stable version
! Software license
|-
! style="text-align:left;" | Ddoc
| Walter Bright
| Text
| D
| Windows, OS X, Linux and BSD
| 2005/09/19
| DMD 2.078.3
|
|-
! style="text-align:left;" | docToolchain
| Ralph D. Müller
| Text
| Java
| Windows, OS X, Linux and BSD
| 2018/08/31
| v3.4.2
|
|-
! style="text-align:left;" | Document! X
| Innovasys
| Text, Binary
| C++/CLI only, C#, IDL, Java, VB, VBScript, PL/SQL
| Windows only
| 1998
| 2014.1
|
|-
! style="text-align:left;" | Doxygen
| Dimitri van Heesch
| Text
| C/C++, C#, D, IDL, Fortran, Java, PHP, Python
| Any
| 1997/10/26
| 1.16.1
|
|-
! style="text-align:left;" | Epydoc
| Edward Loper
| Text
| Python
| Any
| 2002/01/—
| 3.0 (2008)
|
|-
! style="text-align:left;" | fpdoc (Free Pascal Documentation Generator)
| Sebastian Guenther and Free Pascal Core
| Text
| (Object)Pascal/Delphi
| FPC tier 1 targets
| 2005
| 3.2.2
| reusable parts are GPL with static linking exception
|-
! style="text-align:left;" | Haddock
| Simon Marlow
| Text
| Haskell
| Any
| 2002
| 2.15.0 (2014)
|
|-
! style="text-align:left;" | HeaderDoc
| Apple Inc.
| Text
| AppleScript, Bash, Csh, C, C++, Delphi, IDL, Java, JavaScript, MIG, Pascal, Perl, PHP, Python, Ruby, Tcl
| Any Unix-like
| 2000/09/—
| 8.9.28 (2013)
|
|-
! style="text-align:left;" | Imagix 4D
| Imagix Corp.
| Text
| C, C++, Java
| Windows, Linux, Unix
| 1995
| 7.3
|
|-
! style="text-align:left;" | Javadoc
| Sun Microsystems
| Text
| Java
| Any
| 1995
| 1.6
|
|-
! style="text-align:left;" | JSDoc
| Michael Mathews
| Text
| JavaScript
| Any
| 2024/10/19
| 4.0.4
|
|-
! style="text-align:left;" | mkd
| Jean-Paul Louyot
| Text
| Any with comments
| Unix, Linux, Windows
| 1989
| 2015
|
|-
! style="text-align:left;" | MkDocs
| Tom Christie
| Text
| Python
| Any
| 2014/10/29
| 1.5.3
|
|-
! style="text-align:left;" | Natural Docs
| Greg Valure
| Text
| Any with comments
| Any
| 2003/05/26
| 2.0.2
|
|-
! style="text-align:left;" | NDoc
| Jason Diamond, Jean-Claude Manoli, Kral Ferch
| Binary
| C#
| Windows only
| 2003/07/27
| 1.3.1
|
|-
! style="text-align:left;" | pdoc
|Andrew Gallant
|Text
|Python
|Any
|2013
|1.0.1 (2021)
|
|-
! style="text-align:left;" | perldoc
| Larry Wall
| Text
| Perl
| Any
| 1994
| 5.16.3
|
|-
! style="text-align:left;" | phpDocumentor
| Joshua Eichorn
| Text
| PHP
| Any
| 2000
| 3.0.0
|
|-
! style="text-align:left;" | pydoc
| Ka-Ping Yee
| Text
| Python
| Any
| 2000
| in Python core
|
|-
! style="text-align:left;" | RDoc
| Dave Thomas
| Text
| C, C++, Ruby
| Any
| 2001/12/14
| in Ruby core
|
|-
! style="text-align:left;" | ROBODoc
| Frans Slothouber
| Text
| Any with comments
| Any
| 1995/01/19
| 4.99.36 (2015)
|
|-
! style="text-align:left;" | Sandcastle
| Microsoft
| Text
| .NET
| Windows only
| 2008/05/—
| 2.4.10520 (2016)
|
|-
! style="text-align:left;" | Sphinx
| Georg Brandl
| Text
| Ada, C, C++, Chapel, CMake, Fortran, GraphQL, JavaScript, Matlab, PHP, Python, reStructuredText, Ruby, Rust, VB
| Any
| 2008/03/21
| 8.2.1
|
|-
! style="text-align:left;" | Visual Expert
| Novalys
| Text, Binary
| C#, PL/SQL, Transact-SQL, PowerBuilder
| Windows only
| 1995
| 2017
|
|-
! style="text-align:left;" | VSdocman
| Helixoft
| Text
| VB, VBScript, C#
| Windows only
| 2003 Oct 2
| 9.0
|
|-
! style="text-align:left;" | YARD
| Loren Segal
| Text
| Ruby
| Any
| 2007/02/24
| 0.7.3
|
|-
! Name
! Creator
! Input format
! Languages (alphabet order)
! OS support
! First public release date
! Latest stable version
! Software license
|}
Supported formats
The output formats the generators can write.
{| class="wikitable sortable" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;"
|- style="background: #ececec"
! style="width:12em" | Generator name
! HTML
! CHM
! RTF
! LaTeX
! PostScript
! man pages
! DocBook
! XML
! EPUB
|-
! style="text-align:left;" | Ddoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | docToolchain
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Document! X
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Epydoc
|
|
|
|
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
|
|
|
|
|-
! style="text-align:left;" | fpdoc
|
| Native
|
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
|
|
|
|
|
|-
! style="text-align:left;" | Haddock
|
|
|
|
|
|
|
| bgcolor="#ffffdd" | Partial
|
|
|-
! style="text-align:left;" | HeaderDoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Imagix 4D
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Javadoc
|
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
| bgcolor="#ffffdd" | Indirectly
|
|-
! style="text-align:left;" | JSDoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | MkDocs
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Natural Docs
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | NDoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | pdoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | phpDocumentor
|
| (1.x only)
|
| (1.x only)
|
|
|
| (1.x only)
| (1.x only)
|
|-
! style="text-align:left;" | pydoc
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | RDoc
|
|
|
|
|
|
| bgcolor="#ffffdd" | Indirectly
|
|
|
|-
! style="text-align:left;" | ROBODoc
|
| bgcolor="#ffffdd" | Indirectly
|
| bgcolor="#ffffdd" | Indirectly
|
| bgcolor="#ffffdd" | Indirectly
|
|
|
|
|-
! style="text-align:left;" | Sandcastle
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | Sphinx
|
|
|
| bgcolor="#ffffdd" | Indirectly
|
|
|
|
|
|
|-
! style="text-align:left;" | Visual Expert
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | VSdocman
|
|
|
|
|
|
|
|
|
|
|-
! style="text-align:left;" | YARD
|
|
|
|
|
|
|
|
|
|
|- class="sortbottom" style="background: #ececec"
! Generator name
! HTML
! CHM
! RTF
! LaTeX
! PostScript
! man pages
! DocBook
! XML
! EPUB
|}
Other features
{| class="wikitable sortable" style="font-size: 85%; border: gray solid 1px; border-collapse: collapse; text-align: center; width: 100%; table-layout: fixed;"
|- style="background: #ececec"
! style="width:12em" |
! possibility of extended customization
! generated diagrams
! highlighting and linking of generated doc
! parameter types extracted
|-
! style="text-align:left;" | Ddoc
| bgcolor="#90ff90" | with macros
|
|
|
|-
! style="text-align:left;" | docToolchain
| bgcolor="#90ff90" | customizable themes, custom tasks
| bgcolor="#90ff90" | many diagram plugins (plantUML, mermaid, ...)
| bgcolor="#90ff90" | automatic and manual references, table of contents, bibliography, ...
|
|-
! style="text-align:left;" | Document! X
| bgcolor="#90ff90" | customizable HTML based templates, custom comment tags
| bgcolor="#90ff90" | linked graphical object relationship diagrams
| bgcolor="#90ff90" | internal links and links to .NET framework documentation
| bgcolor="#90ff90" | types extracted and linked
|-
! style="text-align:left;" | Doxygen
| bgcolor="#90ff90" | with XSLT
| bgcolor="#90ff90" | caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams
|
|
|-
! style="text-align:left;" | Epydoc
|
|
|
|
|-
! style="text-align:left;" | Haddock
|
|
|
|
|-
! style="text-align:left;" | HeaderDoc
| bgcolor="#90ff90" | Custom headers, footers, code coloring, and other CSS styles in individual pages. Project-wide TOC is generated from a user-defined template.
|
| bgcolor="#90ff90" | Configurable syntax highlighting/coloring with automatic linking to symbols in declaration, ability to manually link to symbols in discussion, etc.
| bgcolor="#90ff90" | Provides warnings if tagged parameters do not match code, parsed parameters included in XML output and Doxygen-style tagfile (-D flag in 8.7). Partial C preprocessor support with -p flag. Support for #if/#ifdef control over documentation inclusion using the -D and -U command-line flags.
|-
! style="text-align:left;" | Imagix 4D
| bgcolor="#90ff90" | customizable through style sheets and CSS
| bgcolor="#90ff90" | linked hierarchy and dependency graphs for function calls, variable sets and reads, class inheritance and interface, and file includes and interface, intra-function flow charts
| bgcolor="#90ff90" | fully cross-linked project-wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source files
| bgcolor="#90ff90" | full semantic analysis of source code, including parameter types, conditional compilation directives, macro expansions
|-
! style="text-align:left;" | Javadoc
|
|
|
|
|-
! style="text-align:left;" | JSDoc
|
|
|
|
|-
! style="text-align:left;" | mkd
| bgcolor="#90ff90" | Customisable for all type of comments
| bgcolor="#90ff90" | 'as-is' in comments
| bgcolor="#90ff90" | all general documentation; references, manual, organigrams, ... Including the binary codes included in the comments.
| bgcolor="#90ff90" | all coded comments
|-
! style="text-align:left;" | MkDocs
|
|
|
|
|-
! style="text-align:left;" | Natural Docs
|
|
|
|
|-
! style="text-align:left;" | NDoc
|
|
|
|
|-
! style="text-align:left;" | perldoc
| bgcolor="#90ff90" | Extend the generator classes through Perl programming.
|
| bgcolor="#90ff90" | Only linking
|
|-
! style="text-align:left;" | pdoc
| bgcolor="#90ff90" | overridable Jinja2 templates
|
| bgcolor="#90ff90" | source code syntax highlighting, automatic cross-linking to symbol declarations
|
|-
! style="text-align:left;" | phpDocumentor
| bgcolor="#90ff90" | Smarty-based templates (1.x), Twig-based templates (2+)
| bgcolor="#90ff90" | class inheritance diagrams
| bgcolor="#90ff90" | cross reference to generated documentation, and to php.net function reference
|
|-
! style="text-align:left;" | pydoc
|
|
|
|
|-
! style="text-align:left;" | RDoc
|
|
|
|
|-
! style="text-align:left;" | ROBODoc
|
|
|
|
|-
! style="text-align:left;" | Sphinx
| bgcolor="#90ff90" | Customizable themes (10 first-party); Jinja templating; Python plugins
| bgcolor="#90ff90" | class inheritance diagrams, graphviz, third party (e.g. using aafigure, actdiag, Google Chart, gnuplot, mermaid)
| bgcolor="#90ff90" | Automatic cross-referencing (including between projects), Index; Table of Contents, Syntax highlighting with Pygments
| bgcolor="#90ff90" | custom objects (such as functions and classes)
|-
! style="text-align:left;" | Visual Expert
| bgcolor="#90ff90" | documentation content and styles customizable
| bgcolor="#90ff90" | Class inheritance, call trees, dependencies (impact analysis)
| bgcolor="#90ff90" | internal links between classes, methods, variables, tables, columns...
| bgcolor="#90ff90" | all types extracted
|-
! style="text-align:left;" | VSdocman
| bgcolor="#90ff90" | full customization for all output formats, templates for MSDN-like output, custom XML comment tags
| bgcolor="#90ff90" | linked graphical class diagrams, class inheritance tree
| bgcolor="#90ff90" | internal links and links to .NET framework documentation
| bgcolor="#90ff90" | types extracted and linked
|-
! style="text-align:left;" | YARD
| bgcolor="#90ff90" | customizable Ruby templates
| bgcolor="#90ff90" | class diagrams with extra tool
| bgcolor="#90ff90" | internal classes/modules cross-referenced and Ruby source highlighted
|
|}
See also
- Code readability
- Documentation generator
- Literate programming
- Self-documenting code
