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.
Basic general information about the generators, including: creator or company, license, and price.
Name | Creator | Input format | Languages (alphabet order) | OS support | First public release date | Latest stable version | Software license |
---|---|---|---|---|---|---|---|
Ddoc | Walter Bright | Text | D | Windows, OS X, Linux and BSD | 2005/09/19 | DMD 2.078.3 | Boost |
Document! X | Innovasys | Text, Binary | C++/CLI only, C#, IDL, Java, VB, VBScript, PL/SQL | Windows only | 1998 | 2014.1 | Proprietary |
Doxygen | Dimitri van Heesch | Text | C/C++, C#, D, IDL, Fortran, Java, PHP, Python | Any | 1997/10/26 | 1.9.1 | GPL |
Epydoc | Edward Loper | Text | Python | Any | 2002/01/— | 3.0 (2008) | MIT |
fpdoc (Free Pascal Documentation Generator) | Sebastian Guenther | Text | Pascal | [verification needed] | 2005? | 2.6.4 | GPL |
Haddock | Simon Marlow | Text | Haskell | Any | 2002 | 2.15.0 (2014) | BSD |
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) | APSL |
Imagix 4D | Imagix Corp. | Text | C, C++, Java | Windows, Linux, Unix | 1995 | 7.3 | Proprietary |
Javadoc | Sun Microsystems | Text | Java | Any | 1995 | 1.6 | GPL |
JSDoc | Michael Mathews | Text | JavaScript | Any | 2001/07/— | 1.10.2 | GPL |
JsDoc Toolkit | Michael Mathews | Text | JavaScript | Any | 2007? | 2.0.0 | MIT |
mkd | Jean-Paul Louyot | Text | Any with comments | Unix, Linux, Windows | 1989 | 2015 | EUPL GPL |
MkDocs | Tom Christie | Text | Python | Any | 2014/10/29 | 1.5.3 | BSD |
Natural Docs | Greg Valure | Text | Any with comments | Any | 2003/05/26 | 2.0.2 | GPL |
NDoc | Jason Diamond, Jean-Claude Manoli, Kral Ferch | Binary | C# | Windows only | 2003/07/27 | 1.3.1 | GPL |
pdoc | Andrew Gallant | Text | Python | Any | 2013 | 1.0.1 (2021) | Unlicense |
perldoc | Larry Wall | Text | Perl | Any | 1994 | 5.16.3 | Artistic, GPL |
phpDocumentor | Joshua Eichorn | Text | PHP | Any | 2000 | 3.0.0 | LGPL for 1.x, MIT for 2+ |
pydoc | Ka-Ping Yee[1] | Text | Python | Any | 2000 | in Python core | Python |
RDoc | Dave Thomas | Text | C, C++, Ruby | Any | 2001/12/14 | in Ruby core | Ruby |
ROBODoc | Frans Slothouber | Text | Any with comments | Any | 1995/01/19 | 4.99.36 (2015) | GPL |
Sandcastle | Microsoft | Text | .NET | Windows only | 2008/05/— | 2.4.10520 (2016) | Ms-PL |
Sphinx | Georg Brandl | Text | Ada, C, C++, Fortran, JavaScript, PHP, Python, Ruby | Any | 2008/03/21 | 3.5.4 | BSD |
Visual Expert | Novalys | Text, Binary | C#, PL/SQL, Transact-SQL, PowerBuilder | Windows only | 1995 | 2017 | Proprietary |
VSdocman | Helixoft | Text | VB, VBScript, C# | Windows only | 2003 Oct 2 | 9.0 | Proprietary |
YARD | Loren Segal | Text | Ruby | Any | 2007/02/24 | 0.7.3 | MIT |
Name | Creator | Input format | Languages (alphabet order) | OS support | First public release date | Latest stable version | Software license |
The output formats the generators can write.
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML | ePub | ||
---|---|---|---|---|---|---|---|---|---|---|
Ddoc | Yes | Yes[lower-alpha 1] | No | Yes[lower-alpha 1] | Yes[lower-alpha 1] | Yes[lower-alpha 1] | Yes[lower-alpha 1] | No | Yes[lower-alpha 1] | |
Document! X | Yes | Yes | No | No | No | No | No | No | No | |
Doxygen | Yes | Yes | Yes | Indirectly[lower-alpha 2] | Yes | Indirectly[lower-alpha 2] | Yes | Yes | Yes | No |
Epydoc | Yes | No | No | Yes | Indirectly[lower-alpha 3] | Indirectly[lower-alpha 3] | No | No | No | |
Haddock | Yes | Yes | No | No | No | No | No | Partial | No | |
HeaderDoc | Yes | No | No | No | No | No | Yes | No | Yes | |
Imagix 4D | Yes | No | Yes | No | No | No | No | No | No | |
Javadoc | Yes | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | Indirectly[lower-alpha 4] | |
JSDoc | Yes | No | No | No | No | No | No | No | No | |
JsDoc Toolkit | Yes | No | No | No | No | No | No | No | Yes+JSON | |
MkDocs | Yes | No | No | No | No | No | No | No | No | No |
Natural Docs | Yes | No | No | No | No | No | No | No | No | |
NDoc | Yes | Yes | No | No | No | No | No | No | No | |
pdoc | Yes | No | No | No | No | No | No | No | No | No |
phpDocumentor | Yes | Yes (1.x only) | No | Yes (1.x only) | No | No | No | Yes (1.x only) | Yes (1.x only) | |
pydoc | Yes | No | No | No | No | No | No | No | No | No |
RDoc | Yes | Yes[lower-alpha 5] | No | No | No | No | Indirectly[lower-alpha 6] | No | Yes[lower-alpha 5] | |
ROBODoc | Yes | Indirectly | Yes | Indirectly[lower-alpha 3] | Yes | Indirectly[lower-alpha 3] | Yes | Yes | No | |
Sandcastle | Yes | Yes | No | No | No | No | No | No | No | |
Sphinx | Yes | Yes | Indirectly[lower-alpha 7] | Yes | Yes | Yes | ||||
Visual Expert | Yes | No | No | No | No | No | No | No | No | |
VSdocman | Yes | Yes | No | Yes | No | No | No | No | Yes | |
YARD | Yes | No | No | No | No | No | No | No | No | |
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML | ePub |
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted | |
---|---|---|---|---|
Ddoc | with macros | |||
Document! X | customizable HTML based templates, custom comment tags | linked graphical object relationship diagrams | internal links and links to .NET framework documentation | types extracted and linked |
Doxygen | with XSLT | caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams | ||
Epydoc | ||||
Haddock | Yes | Yes | ||
HeaderDoc | Custom headers, footers, code coloring, and other CSS styles in individual pages. Project-wide TOC is generated from a user-defined template. | Configurable syntax highlighting/coloring with automatic linking to symbols in declaration, ability to manually link to symbols in discussion, etc. | 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. | |
Imagix 4D | customizable through style sheets and CSS | 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 | fully cross-linked project-wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source files | full semantic analysis of source code, including parameter types, conditional compilation directives, macro expansions |
Javadoc | ||||
JSDoc | Yes | |||
JsDoc Toolkit | Yes | |||
mkd | Customisable for all type of comments | 'as-is' in comments | all general documentation; references, manual, organigrams, ... Including the binary codes included in the comments. | all coded comments |
MkDocs | ||||
Natural Docs | ||||
NDoc | ||||
perldoc | Extend the generator classes through Perl programming. | Only linking | ||
pdoc | overridable Jinja2 templates | source code syntax highlighting, automatic cross-linking to symbol declarations | Yes | |
phpDocumentor | Smarty-based templates (1.x), Twig-based templates (2+) | class inheritance diagrams | cross reference to generated documentation, and to php.net function reference | Yes |
pydoc | ||||
RDoc | ||||
ROBODoc | ||||
Sphinx | 10 themes; Jinja2 templating; Python plugins | several in sphinx-contrib, e.g. using aafigure, actdiag, Google Chart, or gnuplot | Table of Contents, Index; cross referencing; syntax highlighting with Pygments | custom objects (such as functions and classes) |
Visual Expert | documentation content and styles customizable | Class inheritance, call trees, dependencies (impact analysis) | internal links between classes, methods, variables, tables, columns... | all types extracted |
VSdocman | full customization for all output formats, templates for MSDN-like output, custom XML comment tags | linked graphical class diagrams, class inheritance tree | internal links and links to .NET framework documentation | types extracted and linked |
YARD | customizable Ruby templates | class diagrams with extra tool | internal classes/modules cross-referenced and Ruby source highlighted |
Original source: https://en.wikipedia.org/wiki/Comparison of documentation generators.
Read more |