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 informationEdit
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 | Template:Free | |
docToolchain | Ralph D. Müller | Text | Java | Windows, OS X, Linux and BSD | 2018/08/31 | v3.4.2 | Template:Free | |
Document! X | Innovasys | Text, Binary | C++/CLI only, C#, IDL, Java, VB, VBScript, PL/SQL | Windows only | 1998 | 2014.1 | Template:Nonfree | |
Doxygen | Dimitri van Heesch | Text | C/C++, C#, D, IDL, Fortran, Java, PHP, Python | Any | 1997/10/26 | 1.13.2 | Template:Free | |
Epydoc | Edward Loper | Text | Python | Any | 2002/01/— | 3.0 (2008) | Template:Free | |
fpdoc (Free Pascal Documentation Generator) | Sebastian Guenther and Free Pascal Core | Text | (Object)Pascal/Delphi | FPC tier 1 targets | 2005 | 3.2.2 | Template:Free reusable parts are GPL with static linking exception | |
Haddock | Simon Marlow | Text | Haskell | Any | 2002 | 2.15.0 (2014) | Template:Free | |
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) | Template:Free | |
Imagix 4D | Imagix Corp. | Text | C, C++, Java | Windows, Linux, Unix | 1995 | 7.3 | Template:Nonfree | |
Javadoc | Sun Microsystems | Text | Java | Any | 1995 | 1.6 | Template:Free | |
JSDoc | Michael Mathews | Text | JavaScript | Any | 2001/07/— | 1.10.2 | Template:Free | |
JsDoc Toolkit | Michael Mathews | Text | JavaScript | Any | 2007? | 2.0.0 | Template:Free | |
mkd | Jean-Paul Louyot | Text | Any with comments | Unix, Linux, Windows | 1989 | 2015 | Template:Free | |
MkDocs | Tom Christie | Text | Python | Any | 2014/10/29 | 1.5.3 | Template:Free | |
Natural Docs | Greg Valure | Text | Any with comments | Any | 2003/05/26 | 2.0.2 | Template:Free | |
NDoc | Jason Diamond, Jean-Claude Manoli, Kral Ferch | Binary | C# | Windows only | 2003/07/27 | 1.3.1 | Template:Free | |
pdoc | Andrew Gallant | Text | Python | Any | 2013 | 1.0.1 (2021) | Template:Free | |
perldoc | Larry Wall | Text | Perl | Any | 1994 | 5.16.3 | Template:Free | |
phpDocumentor | Joshua Eichorn | Text | PHP | Any | 2000 | 3.0.0 | Template:Free | |
pydoc | citation | CitationClass=web
}}</ref> |
Text | Python | Any | 2000 | in Python core | Template:Free |
RDoc | Dave Thomas | Text | C, C++, Ruby | Any | 2001/12/14 | in Ruby core | Template:Free | |
ROBODoc | Frans Slothouber | Text | Any with comments | Any | 1995/01/19 | 4.99.36 (2015) | Template:Free | |
Sandcastle | Microsoft | Text | .NET | Windows only | 2008/05/— | 2.4.10520 (2016) | Template:Free | |
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 | Template:Free | |
Visual Expert | Novalys | Text, Binary | C#, PL/SQL, Transact-SQL, PowerBuilder | Windows only | 1995 | 2017 | Template:Nonfree | |
VSdocman | Helixoft | Text | VB, VBScript, C# | Windows only | 2003 Oct 2 | 9.0 | Template:Nonfree | |
YARD | Loren Segal | Text | Ruby | Any | 2007/02/24 | 0.7.3 | Template:Free | |
Name | Creator | Input format | Languages (alphabet order) | OS support | First public release date | Latest stable version | Software license |
Supported formatsEdit
The output formats the generators can write.
Other featuresEdit
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted | |
---|---|---|---|---|
Ddoc | with macros | |||
docToolchain | customizable themes, custom tasks | many diagram plugins (plantUML, mermaid, ...) | automatic and manual references, table of contents, bibliography, ... | |
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 | Template:Yes | Template: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 | Template:Yes | |||
JsDoc Toolkit | Template: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 | Template: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 | Template:Yes |
pydoc | ||||
RDoc | ||||
ROBODoc | ||||
Sphinx | Customizable themes (10 first-party); Jinja templating; Python plugins | class inheritance diagrams, graphviz, third party (e.g. using aafigure, actdiag, Google Chart, gnuplot, mermaid) | Automatic cross-referencing (including between projects), Index; Table of Contents, 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 |