Doxygen je univerzální nástroj pro tvorbu dokumentace ze zdrojového kódu pro C, C++, Java, Objective-C, Python, IDL, a dále rozšířen pro PHP, C# a D. Je multiplatformní: lze ho používat pod Unixovými systémy, taktéž i pod Windows a Mac OS X. Pro výstup lze vybrat z mnoha formátů: HTML, Latex, RTF, XML, PDF, PostScript, …
Obsahem generované dokumentace je pak popis jednotlivých skriptů, funkcí, tříd a proměnných, spolu s jejich vlastnostmi a parametry. Volitelně pak lze například graficky zobrazovat závislosti mezi jednotlivými moduly či částmi kódu.
Doxygen generuje dokumentaci z komentářů, umístěných přímo ve zdrojovém kódu projektu. Ty pak musí dodržovat některý ze stylů podporovaných Doxygenem, například Javadoc:
/** * The time class represents a moment of time. * * @author John Doe */ class Time { /** * Constructor that sets the time to a given value. * @param timemillis is a number of milliseconds passed since Jan 1. 1970 */ Time(int timemillis) { } /** * Get the current time. * @return A time object set to the current time. */ static Time now() { } };
Doxygen spadá pod GNU General Public Licence.