Natural Docs
About Natural DocsFeaturesLanguage SupportOutput FormatsDownloadDevelopment
Make a Donation
Source Documentation
Natural, Readable Syntax

Natural Docs’ syntax is designed to be very natural looking, almost transparent.  The comments in the source code read just as easily as the generated documentation.

Multiple Languages

Natural Docs supports nineteen programming languages out of the box, even within the same project.  It supports CGI and extensionless files because it can determine their language by their shebang lines.

Add Your Own Language

If your programming language isn’t already included with Natural Docs, you can add support for it just by editing a configuration file.  Even the most obscure language can have a powerful documentation generator.

All or Just Explicit Documentation

Depending on your level of language support, you can choose between having Natural Docs document everything or only what you documented, which makes it suitable for generating API references.

Javadoc Compatibility

Natural Docs can read most Javadoc comments, so if you’re already invested in that style you don’t have to convert your old documentation.

Flexible Keywords

Natural Docs has many keywords for each of its topic types so you can use whatever’s most natural to you.  You can also customize the existing ones or add your own.

Custom Topics and Indexes

If you’d like to document some facet of your code that Natural Docs doesn’t know about — maybe it’s something particular to your language or project — you can create your own topic type and keywords for it.  Natural Docs will even build it it’s own index.


Natural Docs offers an abbreviated syntax for documenting large groups of small items, like constants.  Each one becomes linkable as if it had its own topic.

Generated Output
Attractive Documentation

Unlike most generated documentation, Natural Docs’ output looks professional by default.  There are different styles to choose from, or you can make one yourself.

Powerful CSS Structure

Natural Docs has a powerful, well documented CSS structure that allows full customization.  Although the default styles don’t always show it off, you can do things like have links to functions be one style and links to classes be another.  You can even have browser-specific styles in a single CSS file to work around rendering quirks.

Framed or Unframed HTML

It’s your documentation so it’s your choice.  You can keep every page be independent and easily linkable, or you can keep the menu in a separate frame for easier navigation.

Search, No Server Required

Natural Docs’ search is done entirely in DHTML, so there’s no server software to set up.  Just upload the documentation to your web site and it works.  It also works if you’re just looking at a private copy on your hard drive

Tooltips Everywhere

Every link to every documented topic has its summary as a tooltip.  Links to functions and variables have their fully formatted protoypes in the tooltips as well.

Ignore Prefixes in the Index

Common prefixes don’t have to ruin your indexes.  If all your classes start with C, or if you have a bunch of functions that start with COM_, you can have Natural Docs ignore them so CCat, CDog, and CMouse appear in C, D, and M instead of all under C.

Differential Build Process

Natural Docs only builds the files that have been changed or added since its last run and the files that depend on them, dramatically reducing run time and making it suitable for larger projects.

Extensible Architecture

Natural Docs is designed to be easily extended for different programming languages, topics, and CSS styles, all of which are documented on this site.


Natural Docs runs anywhere Perl runs, and that’s quite a lot of places.

Intelligent Configuration Files

Natural Docs detects changes you make to the configuration files and will handle the smaller details itself.  They automatically reformat so you can make quick-and-dirty edits and still maintain readability.  If a change requires everything to be rebuilt, it will do so automatically when it runs.

Free and Open

Natural Docs is licensed under the GPL, so there’s no charge and you can fiddle with the source to your heart’s delight.

Copyright © 2003-2011 Greg Valure