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.
Name Creator Input format Languages (alphabet order) OS support First public release date Latest stable version Software license Doxygen Dimitri van Heesch Text C/C++, C#, D, IDL, Fortran, Java, PHP, Python Any 1997/10/26 1.16.1 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 Haddock Simon Marlow Text Haskell Any 2002 2.15.0 (2014) 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) Imagix 4D Imagix Corp. Text C, C++, Java Windows, Linux, Unix 1995 7.3 Javadoc Sun Microsystems Text Java Any 1995 1.6 JSDoc Michael Mathews Text JavaScript Any 2024/10/19 4.0.4 mkd Jean-Paul Louyot Text Any with comments Unix, Linux, Windows 1989 2015 MkDocs Tom Christie Text Python Any 2014/10/29 1.5.3 Natural Docs Greg Valure Text Any with comments Any 2003/05/26 2.0.2 NDoc Jason Diamond, Jean-Claude Manoli, Kral Ferch Binary C# Windows only 2003/07/27 1.3.1 pdocAndrew GallantTextPythonAny20131.0.1 (2021) perldoc Larry Wall Text Perl Any 1994 5.16.3 phpDocumentor Joshua Eichorn Text PHP Any 2000 3.0.0 pydoc Ka-Ping Yee Text Python Any 2000 in Python core RDoc Dave Thomas Text C, C++, Ruby Any 2001/12/14 in Ruby core ROBODoc Frans Slothouber Text Any with comments Any 1995/01/19 4.99.36 (2015) Sandcastle Microsoft Text .NET Windows only 2008/05/— 2.4.10520 (2016) 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 Visual Expert Novalys Text, Binary C#, PL/SQL, Transact-SQL, PowerBuilder Windows only 1995 2017 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. Generator name HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML EPUB fpdoc Native Haddock Partial HeaderDoc Imagix 4D Javadoc Indirectly Indirectly Indirectly Indirectly Indirectly Indirectly Indirectly Indirectly JSDoc MkDocs Natural Docs NDoc pdoc phpDocumentor (1.x only) (1.x only) (1.x only) (1.x only) pydoc RDoc Indirectly ROBODoc Indirectly Indirectly Indirectly Sandcastle Sphinx Indirectly Visual Expert YARD Generator name HTML CHM RTF PDF LaTeX PostScript man pages DocBook XML EPUB
Other features
possibility of extended customization generated diagrams highlighting and linking of generated doc parameter types extracted Doxygen with XSLT caller and callee graphs, dependency graphs, inheritance diagrams, collaboration diagrams Haddock 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 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 phpDocumentor Smarty-based templates (1.x), Twig-based templates (2+) class inheritance diagrams cross reference to generated documentation, and to php.net function reference 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 YARD customizable Ruby templates class diagrams with extra tool internal classes/modules cross-referenced and Ruby source highlighted
See also
Code readability Documentation generator Literate programming Self-documenting code
Notes
References