Comparison of documentation generators
The following tables compare general and technical information for a number of documentation generators. Please see the individual products' articles for further information. This article is not all-inclusive or necessarily up-to-date. Unless otherwise specified in footnotes, comparisons are based on the stable versions without any add-ons, extensions or external programs.
General information
Basic general information about the generators: creator/company, license/price etc.
Name | Creator | First public release date | Latest stable version | Software license |
---|---|---|---|---|
Autoduck | Eric Artzt | 1993 | 2.10[ttp://www.ddj.com/cpp/184403427] | Freeware[1] |
BI Documenter | Mienasoft | 2006 | 1.5 | Proprietary |
DB Manual | Blue Oceans Ltd | 2006 | 1.3 | Proprietary |
DBDesc | Logica2 | 2005 | 3.1 | Proprietary |
DBScribe | Leadum Software | 2007 | 1.1 | Proprietary |
classdoc | Jens Gulden | 2001 | 1.0 | GPL |
CppDoc | Richard Feit | November 23, 1998 | 2.3.1 | Proprietary |
Ddoc | Walter Bright | September 19, 2005 | DMD 1.010 / GDC 0.14 | Freeware / GPL |
devscribe | Geoff Cox | 2008 | 2.00[2] | MSDN Code Gallery Licenses |
Doc-O-Matic | toolsfactory software inc | Nov. 2000 | 6.1 | Proprietary |
SQL Documentor | InfoCaptor | Nov. 2005 | 3.4 | Proprietary |
DOC++ | Dragos Acostachioaie. | December 22, 2002 | 3.4.10 | GPL |
Document! X | Innovasys | 1998 | 5.2.1.3 | Proprietary |
Doxygen | Dimitri van Heesch | 1997 | 1.7.1 | GPL |
Epydoc | Edward Loper | January 2002 | 3.0 | MIT License |
fpdoc | Sebastian Guenther | ? | 2.4.0 | GPL |
GenHelp | FraserSoft | Oct. 1998 | 5.6.7 | Proprietary |
HeaderDoc | Apple Computer | ? | 8.7 | APSL |
Help Generator | Agora Software BV | August 2004 | 4.0 | Proprietary |
HyperSQL | Randy Phillips, Itzchak Rehberg | 2001 | 3.5 | GPL |
Imagix 4D | Imagix Corp. | 1995 | 6.6 | Proprietary |
Javadoc | Sun Microsystems | 1995 | 1.6 | GPL |
JSDoc | Michael Mathews | July 2001 | 1.10.2 | GPL |
JsDoc Toolkit | Michael Mathews | 2007? | 2.0.0 | MIT License |
KDOC | Sirtaj Singh Kang | 1999 | 3.0.1 | ? |
Natural Docs | Greg Valure | May 26, 2003 | 1.4 | GPL |
NDoc | Kevin Downs | July 27, 2003 | 1.3.1 | GPL |
phpDocumentor | Joshua Eichorn | 2000 | 1.4.2 | LGPL |
phpSimpleDoc | Thierry Graff | 2008 | 1.0 | GPL |
Project Analyzer | Aivosto Oy | 9.0 | Proprietary | |
RDoc | Dave Thomas | December 14, 2001 | in Ruby core | Ruby License |
ROBODoc | Frans Slothouber | January 19, 1995 | 4.99.36 | GPL |
Sandcastle | Microsoft | May 2008 | 2.4.10520 | Ms-PL |
SoDa | IBM | July 2008 | 7.0 | Proprietary |
Sphinx | Georg Brandl | March 2008 | 1.0.2 | BSD |
ThimbleDoc | Thimbleopensource.com | 2008 | 0.2beta | GPL |
TwinText | PTLogica | 2002 | 2008.0.406 | Proprietary |
VBDOX | Mihayl Stamenov | October 26, 2001 | 2.1.0 | GPL |
VSdocman | Helixoft | Oct. 2000 | 5.0 | Proprietary |
jGrouseDoc | Denis Riabtchik | Apr. 2007 | 1.5 | BSD |
Haddock | Simon Marlow | 2002 | 2.0.0.0 (2008) | BSD |
Universal Report | Universal Software | 2001-2008 | 8.1 | Free Education / Proprietary |
YARD | Loren Segal | February 24, 2007 | 0.2.3.5 | MIT License |
Name | Creator | First public release date | Latest stable version | Software license |
Operating system support
The operating systems the generators can run on.
Windows | Mac OS X | Linux | BSD | Unix | |
---|---|---|---|---|---|
Autoduck | Yes | No | No | No | No |
BI Documenter | Yes | No | No | No | No |
classdoc | Yes | Yes | Yes | Yes | Yes |
CppDoc | Yes | No | Yes | No | No |
DB Manual | Yes | No | No | No | No |
DBDesc | Yes | No | No | No | No |
DBScribe | Yes | No | No | No | No |
Ddoc | Yes | Yes3 | Yes | Yes3 | No |
devscribe | Yes | No | No | No | No |
Doc-O-Matic | Yes | No | No | No | No |
DOC++ | Yes | Yes? | Yes | Yes | Yes |
Document! X | Yes | No | No | No | No |
Doxygen | Yes | Yes | Yes | Yes | Yes |
Epydoc | Yes | Yes | Yes | Yes | Yes |
fpdoc | Yes | Yes | Yes | Yes | Yes |
GenHelp | Yes | No | No | No | No |
Haddock | Yes | Yes | Yes | Yes | Yes |
HeaderDoc | No | Yes | Yes | Yes | Yes |
Help Generator | Yes | No | No | No | No |
HyperSQL | Yes | Yes | Yes | Yes | Yes |
Imagix 4D | Yes | No | Yes | No | Yes |
Javadoc | Yes | Yes | Yes | Yes | Yes |
jGrouseDoc | Yes | Yes | Yes | Yes | Yes |
JSDoc | Yes | Yes | Yes | Yes | Yes |
JsDoc Toolkit | Yes | Yes | Yes | Yes | Yes |
KDOC | Partial | Yes | Yes | Yes | Yes |
Natural Docs | Yes | Yes | Yes | Yes | Yes |
NDoc | Yes | No | No | No | No |
phpDocumentor | Yes | Yes | Yes | Yes | Yes |
phpSimpleDoc | Yes | Yes | Yes | Yes | Yes |
Project Analyzer | Yes | No | No | No | No |
RDoc | Yes | Yes | Yes | Yes | Yes |
ROBODoc | Yes | Yes | Yes | Yes | Yes |
Sandcastle | Yes | No | No | No | No |
ThimbleDoc | Yes | Yes | Yes | Yes | Yes |
TwinText | Yes | No | No | No | No |
Universal Report | Yes | No | No | No | No |
VBDOX | Yes | No | No | No | No |
VSdocman | Yes | No | No | No | No |
YARD | Yes | Yes | Yes | Yes | Yes |
Windows | Mac OS X | Linux | BSD | Unix |
Note (4): GNU D Compiler.
Language support
The programming languages the generators recognize.
C/C++ | Java | C# | VB / VBScript | Delphi / Pascal | Ada | D | IDL | .NET1 | Access | |
---|---|---|---|---|---|---|---|---|---|---|
Autoduck | Yes | No | No | Yes | No | No | No | No | No | No |
BI Documenter | No | No | No | No | No | No | No | No | Yes | No |
classdoc | No | Yes | No | No | No | No | No | No | No | No |
CppDoc | Yes | No | No | No | No | No | No | No | No | No |
DB Manual | No | No | No | No | No | No | No | No | Yes | No |
DBDesc | No | No | No | No | No | No | No | No | Yes | No |
DBScribe | No | No | No | No | No | No | No | No | No | No |
Ddoc | No | No | No | No | No | No | Yes | No | No | No |
devscribe | No | No | Yes | No | No | No | No | No | No | No |
Doc-O-Matic | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | No |
DOC++ | Yes | Yes | No | No | No | No | No | Yes | No | No |
Document! X | C++/CLI only | No | Yes | Yes | No | No | No | Yes | Yes | Yes |
Doxygen | Yes | Yes | Yes | No3 | No3 | No | Partial | Yes | No | No |
Epydoc | No | No | No | No | No | No | No | No | No | No |
fpdoc | No | No | No | No | Yes | No | No | No | No | No |
GenHelp | Yes | No | Yes | No | Yes | No | No | No | Yes | No |
Haddock | No | No | No | No | No | No | No | No | No | No |
HeaderDoc | Yes | Yes | No | No | Yes | No | No | Yes | No | No |
Help Generator | Yes | No | Yes | Yes | No | No | No | No | Yes | Yes |
HyperSQL | No | No | No | No | No | No | No | No | No | No |
Imagix 4D | Yes | Yes | No | No | No | No | No | No | No | No |
Javadoc | No | Yes | No | No | No | No | No | No | No | No |
jGrouseDoc | No | No | No | No | No | No | No | No | No | No |
JSDoc | No | No | No | No | No | No | No | No | No | No |
JsDoc Toolkit | No | No | No | No | No | No | No | No | No | No |
KDOC | Yes | No | No | No | No | No | No | Yes | No | No |
Natural Docs | Partial | Partial | Yes | Partial | Partial | Partial | No | No | No | No |
NDoc | No | No | Yes | No | No | No | No | No | Yes | No |
phpDocumentor | No | No | No | No | No | No | No | No | No | No |
phpSimpleDoc | No | No | No | No | No | No | No | No | No | No |
Project Analyzer | No | No | No | Yes | No | No | No | No | Yes | No |
RDoc | Partial | No | No | No | No | No | No | No | No | No |
ROBODoc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
TwinText | Yes | Yes | Yes | Yes | Yes | Yes | Partial | Yes | Yes | No |
Universal Report | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes |
VBDOX | No | No | No | Yes | No | No | No | No | No | No |
VSdocman | No | No | Yes | Yes | No | No | No | No | Yes | No |
YARD | No | No | No | No | No | No | No | No | No | No |
C/C++ | Java | C# | VB / VBScript | Delphi / Pascal | Ada | D | IDL | .NET1 | Access |
PHP | Perl | Python | Ruby | JavaScript | ActionScript | PL/SQL | Tcl | Haskell | Any With Comments2 | |
---|---|---|---|---|---|---|---|---|---|---|
Autoduck | No | No | No | No | No | No | No | No | No | No |
BI Documenter | No | No | No | No | No | No | No | No | No | No |
classdoc | No | No | No | No | No | No | No | No | No | No |
CppDoc | No | No | No | No | No | No | No | No | No | No |
DB Manual | No | No | No | No | No | No | No | No | No | No |
DBScribe | No | No | No | No | No | No | Yes | No | No | No |
Ddoc | No | No | No | No | No | No | No | No | No | No |
devscribe | No | No | No | No | No | No | No | No | No | No |
Doc-O-Matic | Yes | No | No | No | Yes | No | No | No | No | Yes |
DOC++ | No | No | No | No | No | No | No | No | No | No |
Document! X | No | No | No | No | No | No | Yes | No | No | No |
Doxygen | Yes | No3 | Yes | No | No | No | No | No | No | No |
Epydoc | No | No | Yes | No | No | No | No | No | No | No |
fpdoc | No | No | No | No | No | No | No | No | No | No |
GenHelp | No | No | No | No | No | No | No | No | No | No |
Haddock | No | No | No | No | No | No | No | No | Yes | No |
HeaderDoc | Yes | Yes | No | No | Yes | No | No | No | No | No |
HyperSQL | No | No | No | No | No | No | Yes | No | No | No |
Imagix 4D | No | No | No | No | No | No | No | No | No | No |
Javadoc | No | No | No | No | No | No | No | No | No | No |
jGrouseDoc | No | No | No | No | Yes | No | No | No | No | No |
JSDoc | No | No | No | No | Yes | No | No | No | No | No |
JsDoc Toolkit | No | No | No | No | Yes | No | No | No | No | No |
KDOC | No | No | No | No | No | No | No | No | No | No |
Natural Docs | Partial | Yes | Partial | Partial | Partial | Yes | Partial | Partial | No | Yes |
NDoc | No | No | No | No | No | No | No | No | No | No |
phpDocumentor | Yes | No | No | No | No | No | No | No | No | No |
phpSimpleDoc | Yes | No | No | No | No | No | No | No | No | No |
Project Analyzer | No | No | No | No | No | No | No | No | No | No |
RDoc | No | No | No | Yes | No | No | No | No | No | No |
ROBODoc | Yes | Yes | No | Yes | Yes | Partial | Yes | Yes | No | Yes |
ThimbleDoc | Yes | No | No | No | No | No | No | No | No | No |
TwinText | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Universal Report | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes |
VBDOX | No | No | No | No | No | No | No | No | No | No |
VSdocman | No | No | No | No | No | No | No | No | No | No |
YARD | No | No | No | Yes | No | No | No | No | No | No |
PHP | Perl | Python | Ruby | JavaScript | ActionScript | PL/SQL | Tcl | Haskell | Any With Comments2 |
Note (1): .NET is not a programming language, but is listed here for convenience.
Note (2): Generators listed here can be extended to support any language that has comments.
Note (3): Though not supported as a native input language, Doxygen can be extended through the use of filters. Examples include Visual Basic, VB.NET, Perl, and Pascal:
Input formats
The input formats the generators can read.
Text | Binary | |
---|---|---|
Autoduck | Yes | No |
BI Documenter | No | Yes |
DB Manual | No | Yes |
classdoc | No | Yes |
CppDoc | Yes | No |
DBDesc | No | Yes |
DBScribe | No | Yes |
Ddoc | Yes | No |
devscribe | No | Yes |
Doc-O-Matic | Yes | No |
DOC++ | Yes | No (except Java class files) |
Document! X | Yes | Yes |
Doxygen | Yes | No |
Epydoc | Yes | No |
fpdoc | Yes | No |
GenHelp | Yes | No |
Haddock | Yes | No |
HeaderDoc | Yes | No |
Help Generator | Yes | Yes |
HyperSQL | Yes | No |
Imagix 4D | Yes | No |
Javadoc | Yes | No |
jGrouseDoc | Yes | No |
JSDoc | Yes | No |
JsDoc Toolkit | Yes | No |
KDOC | Yes | No |
Natural Docs | Yes | No |
NDoc | No | Yes |
phpDocumentor | Yes | No |
phpSimpleDoc | Yes | No |
Project Analyzer | Yes | Yes |
RDoc | Yes | No |
ROBODoc | Yes | No |
TwinText | Yes | Yes |
Universal Report | Yes | No |
VBDOX | Yes | No |
VSdocman | Yes | No |
YARD | Yes | No |
Text | Binary |
Output formats
The output formats the generators can write.
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML | ||
---|---|---|---|---|---|---|---|---|---|
Autoduck | Yes | No | Yes | No | No | No | No | No | No |
BI Documenter | Yes | Yes | No | No | No | No | No | No | No |
classdoc | Yes | No | No | No | No | No | No | No | No |
CppDoc | Yes | No | No | No | No | No | No | No | No |
DB Manual | Yes | Yes | No | No | No | No | No | No | No |
DBDesc | Yes | No | Yes | Yes | No | No | No | No | Yes |
DBScribe | Yes | Yes | Yes | No | No | No | No | No | No |
Ddoc | Yes | Yes4 | No | Yes4 | Yes4 | Yes4 | Yes4 | No | Yes4 |
devscribe | Yes | No | No | No | No | No | No | No | Yes |
Doc-O-Matic | Yes | Yes | Yes | Yes | No | No | No | No | Yes |
DOC++ | Yes | No | No | Yes7 | Yes | Yes7 | No | No | No |
Document! X | Yes | Yes | No | No | No | No | No | No | No |
Doxygen | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes |
Epydoc | Yes | No | No | Yes | Indirectly5 | Indirectly5 | No | No | No |
fpdoc | Yes | Yes | Yes | No | Yes | No | Yes | No | Yes |
GenHelp | Yes | Yes | Yes | No | No | No | No | No | No |
Haddock | Yes | Yes | No | No | No | No | No | Partial | No |
HeaderDoc | Yes | No | No | No | No | No | Yes | No | Yes |
Help Generator | Yes | Yes | Yes | No | No | No | No | No | Yes |
HyperSQL | Yes | No | No | No | No | No | No | No | No |
Imagix 4D | Yes | No | Yes | No | No | No | No | No | No |
Javadoc | Yes | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 | Indirectly6 |
jGrouseDoc | Yes | No | No | No | No | No | No | No | Yes |
JSDoc | Yes | No | No | No | No | No | No | No | No |
JsDoc Toolkit | Yes | No | No | No | No | No | No | No | Yes+JSON |
KDOC | Yes | 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 |
phpDocumentor | Yes | Yes | No | Yes | No | No | No | Yes | Yes |
phpSimpleDoc | Yes | No | No | No | No | No | No | No | No |
Project Analyzer | Yes | Yes | Yes | Yes | No | No | No | No | No |
Sandcastle | Yes | Yes | No | No | No | No | No | No | No |
RDoc | Yes | No | No | No | No | No | No | No | No |
ROBODoc | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
ThimbleDoc | Yes | No | No | No | No | No | No | No | No |
TwinText | Yes | Yes | No | No | No | No | No | No | No |
Universal Report | Yes | No | Yes | Yes | Yes | Yes | No | No | No |
VBDOX | Yes | Yes | Yes | No | No | No | No | No | No |
VSdocman | Yes | Yes | Yes | No | No | No | No | No | Yes |
YARD | Yes | No | No | No | No | No | No | No | No |
HTML | CHM | RTF | LaTeX | PostScript | man pages | DocBook | XML |
Note (4): Ddoc has a macro system which can be customized to output any desired format. CHM, groff (manpages), XHTML, XML, and LaTeX (so PostScript and PDF) were tested. They are not currently included in the standard distribution. Standard HTML output also is generated using macros and can be redefined.
Note (5): Though not officially supported as an output format, Epydoc uses LaTeX and PostScript as intermediate steps to produce the final PDF documentation.
Note (6): Via Doclets from Third Parties.
Note (7): DOC++ outputs LaTeX and includes templates to enable conversion to PDF or PostScript with the appropriate latex tools. Required tools however are not included with DOC++.
Other features
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted | |
---|---|---|---|---|
Autoduck | ||||
BI Documenter | ||||
classdoc | ||||
CppDoc | ||||
DB Manual | ||||
DBDesc | full customization for all output formats using XSL templates and a built-in designer | All SQL code syntax highlighted | Yes | |
DBScribe | ||||
Ddoc | with macros | |||
devscribe | Via code, XSLT, CSS and web.config | Looks and reads just like code with syntax coloring in Visual Studio style. | Supports linking from all member and method parameter types. | |
Doc-O-Matic | full customization for all output formats, template for MSDN and other lookalike output, custom XMLDoc/JavaDoc tags | local, module and global graphical class hierarchies, local text class hierarchies | fully cross linked project wide, automatic inter-project links, automatic links into framework documentation like MSDN, Borland/CodeGear Help | types extracted and linked |
DOC++ | ||||
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 manual 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. Preliminary support for #if/#ifdef control over documentation through an external utility (not currently installed by default). | |
Help Generator | ||||
HyperSQL | custom CSS, options via configuration file, optional central todo/bug lists (items extracted from javadoc comments) | Pie Charts for code statistics, object relationship diagrams (dependency graphs) | fully cross linked project wide for views, packages, package functions, and package procedures; optional inclusion of source code with syntax highlighting; links to javadoc generated references as well as directly to the code lines; code statistics | Provides warnings if tagged parameters count does not match code |
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, condition compilation directives, macro expansions |
Javadoc | ||||
jGrouseDoc | With XSLT | cross reference to generated documentation | Yes | |
JSDoc | Yes | |||
JsDoc Toolkit | Yes | |||
KDOC | ||||
Natural Docs | ||||
NDoc | ||||
phpDocumentor | Smarty-based templates | class inheritance diagrams | cross reference to generated documentation, and to php.net function reference | Yes |
phpSimpleDoc | class / interface inheritance | Yes | Yes | |
Project Analyzer | custom CSS | File dependencies, inheritance, control flow, data flow, variable access, class instantiation, data
declaration, Form.Show order, procedure calls, project dependencies, file belongs to project, class cohesion. |
Cross-referenced source code | types extracted and linked, source code level linkage |
RDoc | ||||
ROBODoc | ||||
TwinText | 20 CSS styles. Well documented CSS facilitates customization. | ASCII diagramming and picture importing. | Table of Contents, Index, and per-page cross referencing. | Method/Function parameters extracted and linked. |
Universal Report | customizable HTML based templates, custom comment tags | linked graphical object relationship diagrams | internal links between routines and objects | data types extracted and linked |
VBDOX | ||||
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 | |
possibility of extended customization | generated diagrams | highlighting and linking of generated doc | parameter types extracted |
See also
- OneClickHelp [3] converts Doc to Chm / Chm to Doc