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. 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.
NameCreatorInput formatLanguagesOS supportFirst public release dateLatest stable versionSoftware license
DdocWalter BrightTextDWindows, OS X, Linux and BSD2005/09/19DMD 2.078.3
Document! XInnovasysText, BinaryC++/CLI only, Java, C#, VB, VBScript, IDL, PL/SQLWindows only19982014.1
DoxygenDimitri van HeeschTextC/C++, Java, C#, D, IDL, Fortran, PHP, Python, TclAny1997/10/261.8.14
EpydocEdward LoperTextPythonAny2002/01/—3.0
fpdoc Sebastian GuentherTextPascal2005?2.6.4
HaddockSimon MarlowTextHaskellAny20022.15.0
HeaderDocApple Inc.TextC, C++, Java, Delphi, Pascal, IDL, PHP, Perl, Python, Ruby, JavaScript, Tcl, AppleScript, MIG, Bash, CshAny Unix-like2000/09/—8.9.28
Imagix 4DImagix Corp.TextC, C++, JavaWindows, Linux, Unix19957.3
JavadocSun MicrosystemsTextJavaAny19951.6
ScalaDocLAMP, EPFLTextScalaAny20111.0
JSDocMichael MathewsTextJavaScriptAny2001/07/—1.10.2
JsDoc ToolkitMichael MathewsTextJavaScriptAny2007?2.0.0
mkdJean-Paul LouyotTextAny with commentsAny 19892015
Natural DocsGreg ValureTextAny with commentsAny2003/05/262.0.2
NDocJason Diamond, Jean-Claude Manoli, Kral FerchBinaryC#Windows only2003/07/271.3.1
PandocJohn MacFarlane??Any20061.14.0.3
pdoc3kerncTextPythonAny20130.5.1
perldocLarry WallPerlTextAny19945.16.3
phpDocumentorJoshua EichornTextPHPAny20001.4.4
pydocKa-Ping YeeTextPythonAny2000in Python core
RDocDave ThomasTextC, C++, RubyAny2001/12/14in Ruby core
ROBODocFrans SlothouberTextAny with commentsAny1995/01/194.99.36
SandcastleMicrosoftText.NETWindows only2008/05/—2014.5.31.0
SphinxGeorg BrandlTextC, C++, Ada, Fortran, PHP, Python, Ruby, JavaScriptAny2008/03/211.6.3
Visual ExpertNovalysText, BinaryC#, PL/SQL, Transact-SQL, PowerBuilderWindows only19952017
VSdocmanHelixoftTextC#, VB, VBScriptWindows only2003 Oct 29.0
YARDLoren SegalTextRubyAny2007/02/240.7.3
NameCreatorInput formatLanguagesOS supportFirst public release dateLatest stable versionSoftware license

Supported formats

The output formats the generators can write.
HTMLCHMRTFPDFLaTeXPostScriptman pagesDocBookXMLePub
Ddoc-
Document! X-
DoxygenIndirectlyIndirectly
EpydocIndirectlyIndirectly-
HaddockPartial-
HeaderDoc-
Imagix 4D-
JavadocIndirectlyIndirectlyIndirectlyIndirectlyIndirectlyIndirectlyIndirectlyIndirectly-
JSDoc-
JsDoc Toolkit+JSON-
Natural Docs-
NDoc-
pdoc3Indirectly
phpDocumentor-
pydoc
RDocIndirectly-
ROBODocIndirectlyIndirectlyIndirectly-
Sandcastle-
SphinxIndirectly
Visual Expert-
VSdocman-
YARD-
HTMLCHMRTFPDFLaTeXPostScriptman pagesDocBookXMLePub

Other features

possibility of extended customizationgenerated diagramshighlighting and linking of generated docparameter types extracted
Ddocwith macros
Document! Xcustomizable HTML based templates, custom comment tagslinked graphical object relationship diagramsinternal links and links to.NET framework documentationtypes extracted and linked
Doxygenwith XSLTcaller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams
Epydoc
Haddock
HeaderDocCustom 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. Partial C preprocessor support with -p flag. Support for #if/#ifdef control over documentation inclusion using the -D and -U command-line flags.
Imagix 4Dcustomizable through style sheets and CSSlinked hierarchy and dependency graphs for function calls, variable sets and reads, class inheritance and interface, and file includes and interface, intra-function flow chartsfully cross-linked project-wide, including all hierarchy and dependency graphs, metrics tables, source code snippets, and source filesfull semantic analysis of source code, including parameter types, conditional compilation directives, macro expansions
Javadoc
JSDoc
JsDoc Toolkit
mkdCustomisable for all type of comments'as-is' in commentsall general documentation; references, manual, organigrams,... Including the binary codes included in the comments.all coded comments
Natural Docs
NDoc
perldocExtend the generator classes through Perl programming.Only linking
pdoc3overridable mako templatessource code syntax highlighting, automatic cross-linking to symbol declarations
phpDocumentorSmarty-based templatesclass inheritance diagramscross reference to generated documentation, and to php.net function reference
pydoc
RDoc
ROBODoc
Sphinx10 themes; Jinja2 templating; Python pluginsseveral in sphinx-contrib, e.g. using aafigure, actdiag, Google Chart, or gnuplotTable of Contents, Index; cross referencing; syntax highlighting with Pygmentscustom objects
Visual Expertdocumentation content and styles customizableClass inheritance, call trees, dependencies internal links between classes, methods, variables, tables, columns...all types extracted
VSdocmanfull customization for all output formats, templates for MSDN-like output, custom XML comment tagslinked graphical class diagrams, class inheritance treeinternal links and links to.NET framework documentationtypes extracted and linked
YARDcustomizable Ruby templatesclass diagrams with extra toolinternal classes/modules cross-referenced and Ruby source highlighted

Possible omissions