Skip to content


Subversion checkout URL

You can clone with
Download ZIP
An automatic documentation generator for JavaScript.
JavaScript Shell
Pull request Compare This branch is 1100 commits behind jsdoc3:master.
Failed to load latest commit information.
Jake Updated version from alpha to final candidate, authors and contribute…
lib change __dirname to env.dirname
nodejs_modules attempt to make npm compatible paths by removing node_modules as a pa…
plugins Merge pull request #157 from manix84/master
rhino_modules Fix jsdoc issue #172: Remove second call to unwrap.
templates use arrays instead of objects in Haruki template. fixes #153. (thanks…
test allow @augments to point at an undocumented dependency
.gitignore Add 'install' task to Jakefile and ignore conf.json
.jshintrc disable JSHint's "super new" and valid this" relaxing options (no fix… Readme additions and pull request instructions
Jakefile.js enable JSHint's "undef" test Updated license and package info for beta release. attempt to make npm compatible paths by removing node_modules as a pa… Added additional test for alias.
conf.json.EXAMPLE Use conf.json.EXAMPLE and .gitignore conf.json to changes don't affec…
jsdoc Merge pull request #166 from hegemonic/exports-publish
jsdoc.cmd attempt to make npm compatible paths by removing node_modules as a pa…
jsdoc.js Merge pull request #166 from hegemonic/exports-publish
package.json Bumped revision number.

JSDoc 3

An inline API documentation processor for JavaScript. JSDoc 3 is intended to be an upgrade to JsDoc Toolkit (JSDoc 2).

Pull Requesters: Please read


Download a copy of JSDoc 3 from the official Git Hub repository here:

To test that jsdoc is working, change your working directory to the jsdoc folder and run the following command on Windows:

jsdoc -T

... or on a Max OSX or *nix platform:

./jsdoc -T

If you can't get the short-form commands to work, try invoking Java directly:

java -cp lib/js.jar \
-modules nodejs_modules -modules rhino_modules -modules . \
jsdoc.js -T


This example assumes that your working directory is the jsdoc application base directory:

./jsdoc yourSourceCodeFile.js

For help regarding the supported commandline options use the --help option.

./jsdoc --help

Generated documentation will appear in the folder specified by the --destination option, or in a folder named "out" by default.


JSDoc 3 utilises the Mozilla Rhino engine, which requires Java. JSDoc 3 is known to work with version 1.6.0_24 of Java.

JSDoc 3 uses advanced features in the Rhino application which are only available in or after the 1.7 release 3. A copy of this version of Rhino is included in JSDoc so this is not normally an issue that the user needs to be concerned with. However, in rare cases, users may have their Java CLASSPATH configured to override that included Rhino and point to some older version of Rhino instead. If this is the case, simply correct the CLASSPATH to remove the older Rhino.

The version of rhino distributed with JSDoc3 can be found here:


Rhino is not always very friendly when it comes to reporting errors in JavaScript. Luckily it comes with a full-on debugger included that can be much more useful than a simple stack trace. To invoke JSDoc with the debugger try the following command:

jsdoc --debug

or the long form version:

$ java -classpath lib/js.jar \ -debug \
-modules nodejs_modules -modules rhino_modules -modules . \
jsdoc.js \

Note: --debug must be the first argument to the short form command

This will open a debugging window. Choose "Break on Exceptions" from the "Debug" menu, then press the "Run" button. If there is an error, you should see exactly where it is in the source code.

See Also

Project Documentation: (under development)
Project Documentation Source:
JSDoc User's Group:
JSDoc3 Ant Task
Project Annoncements:


JSDoc 3 is copyright (c) 2011 Michael Mathews

See file "" in this distribution for more details about terms of use.

Something went wrong with that request. Please try again.