Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
This branch is 143 commits behind senchalabs:master.

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status

API documentation generator for Sencha JavaScript frameworks.

JSDuck aims to be a better documentation generator for Ext JS than the old ext-doc was. It is used by Sencha to document Ext JS 4, Sencha Touch and several other products.

The highlights of JSDuck are Markdown support and keeping you DRY by inferring a lot of information from code. Read the documentation for full overview.

New to JSDuck? Watch introductory talk by Nick Poulden:

SenchaCon 2011 JSDuck talk

Getting it

Standard rubygems install should do:

$ [sudo] gem install jsduck

Or download the Windows binary. When you run into problems, see the installation guide.


For the simplest test-run just use the --builtin-classes option to write documentation for JavaScript builtin classes like Array, String and Object into docs directory:

$ jsduck --builtin-classes --output docs

To generate docs for Ext JS 4 add path to the corresponding src/ dir:

$ jsduck ext-4.2.1/src --output docs

And to create docs for your own Ext JS project, list the directory with your files in addition to the Ext JS source files (this way the docs of your classes will list all the properties and methods they inherit from Ext JS classes):

$ jsduck ext-4.2.1/src my-project/js --output docs

Unfortunately the above will throw lots of warnings at you, as building the full Ext JS docs requires lots of additional settings. For start you might want to simply ignore all these warnings originating from Ext JS source:

$ jsduck ext-4.2.1/src my-project/js --output docs \

But see the Usage guide for more information on building Ext JS 4 docs.

Documenting your code

Read the documentation and take a look at example.js.

Hacking it

See Hacking guide in wiki.

Who's using JSDuck?

These are some that we know of. Want your project listed here? Drop us a line.


JSDuck is distributed under the terms of the GNU General Public License version 3.

JSDuck was developed by Rene Saarsoo, with contributions from Nick Poulden, Ondřej Jirman, Thomas Aylott, Dave Thompson, Ed Spencer, Rob Dougan, Scott Whittaker, Timo Tijhof, Brian Moeskau, Garry Yao, Yasin Okumus, Nicholas Boll and Katherine Chu.

Many thanks goes also to those who have most eagerly reported bugs: Ryan Nauman, Raphael Franchet, atian25, burnnat, Raphael Pigulla, Dmitry Bakaleinik, Alan Lindsay, Corey Butler, Nickolay Platonov, Matt Greer, Richard and Dmitry Pashkevich.

There are lots of others I haven't named here, who have provided their input.


See the Releases page.

More questions?

Feel free to post an issue, but read the FAQ first.


Simple JavaScript Duckumentation generator.







No packages published


  • Ruby 51.0%
  • JavaScript 48.4%
  • Other 0.6%