Latest commit 7b0ebba Apr 26, 2013 Taro Morimoto 0.3.0
Failed to load latest commit information.

Table of Contents


A lightweight graphical user interface for changing variables in JavaScript.

Get started with dat.GUI by reading the tutorial at

Packaged Builds

The easiest way to use dat.GUI in your code is by using the built source at . These built JavaScript files bundle all the necessary dependencies to run dat.GUI.

In your tag, include the following code:

Using dat.GUI with require.js

Internally, dat.GUI uses require.js to handle dependency management. If you're making changes to the source and want to see the effects of your changes without building, use require js.

In your tag, include the following code:

Then, in :

Directory Contents

 * build: Concatenated source code.
 * src: Modular code in <a href="" target="_blank">require.js</a> format. Also includes css, <a href="" target="_blank">scss</a>, and html, some of which is included during build.
 * tests: <a href="" target="_blank">QUnit</a> test suite.
 * utils: <a href="" target="_blank">node.js</a> utility scripts for compiling source.

Building your own dat.GUI

In the terminal, enter the following:

This will create a namespaced, unminified build of dat.GUI at

_To export minified source using Closure Compiler, open and set the parameter to ._

Change log


 * Moved to requirejs for dependency management.
 * Changed global namespace from *DAT* to *dat* (lowercase).
 * Added support for color controllers. See <a href="" target="_blank">Color Controllers</a>.
 * Added support for folders. See <a href="" target="_blank">Folders</a>.
 * Added support for saving named presets.  See <a href="" target="_blank">Presets</a>.
 * Removed `height` parameter from GUI constructor. Scrollbar automatically induced when window is too short.
 * `dat.GUI.autoPlace` parameter removed. Use `new dat.GUI( { autoPlace: false } )`. See <a href="" target="_blank">Custom Placement</a>.
 * `gui.autoListen` and `gui.listenAll()` removed. See <a href="" target="_blank">Updating The Display Manually</a>.
 * `dat.GUI.load` removed. See <a href="" target="_blank">Saving Values</a>.
 * Made Controller code completely agnostic of GUI. Controllers can easily be created independent of a GUI panel.


 * Migrated from GitHub to Google Code.


The following libraries / open-source projects were used in the development of dat.GUI:

 * <a href="" target="_blank">require.js</a>
 * <a href="" target="_blank">Sass</a>
 * <a href="" target="_blank">node.js</a>
 * <a href="" target="_blank">QUnit</a> / <a href="" target="_blank">jquery</a>