Skip to content
Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
JavaScript HTML CSS Other
Branch: develop
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs insert the svg class diagram dynamically instead of by concat Jun 19, 2019
grunt display four examples per row to avoid line wrap Jan 13, 2019
regression remove colorbrewer as explicit dependency May 25, 2018
scripts Use d3.version to do conditional processing between d3v4 and d3v5 Apr 30, 2018
spec lint specs somehow missed in 14ecd2e and 043b555 Oct 18, 2019
src extra whitespace Oct 18, 2019
style remove float: left from dc.css Jun 28, 2019
web "use canvas" checkmark for scatter resizing examples Oct 21, 2019
.eslintrc fix remaining eslint complaints May 26, 2019
.gitattributes Add .gitattributes for Windows folks Apr 13, 2018
.gitignore ignore html output Jul 28, 2016
.mailmap more authors Sep 30, 2013
.travis.yml Remove xvfb Jun 1, 2018
AUTHORS author Sep 18, 2019 example fiddles & blocks everwhere Dec 10, 2016 version and changelog Oct 18, 2019
Gruntfile.js insert the svg class diagram dynamically instead of by concat Jun 19, 2019
LICENSE Update LICENSE year range to 2016 Feb 11, 2016
LICENSE_BANNER dates, version, changelog Mar 15, 2019 Add CDNJS version badge in README Oct 18, 2019
bower.json update bower.json for crossfilter2 1.4 Mar 12, 2018 add colorMixin -> bubbleMixin; fix color Aug 26, 2019
dc.css artifacts Jun 28, 2019
dc.js artifacts Oct 18, 2019 artifacts Oct 18, 2019
dc.min.css artifacts Jun 28, 2019
dc.min.js artifacts Oct 18, 2019 artifacts Oct 18, 2019
index.js use package name for node & umd requires May 24, 2017
jsdoc.conf.json Compatibility with d3v4 Mar 21, 2018
package-lock.json take latest grunt-jsdoc-to-markdown Oct 19, 2019
package.json take latest grunt-jsdoc-to-markdown Oct 19, 2019

Build Status Sauce Status NPM Status cdnjs Status Join the chat at


Dimensional charting built to work natively with crossfilter rendered using d3.js. In dc.js, each chart displays an aggregation of some attributes through the position, size, and color of its elements, and also presents a dimension which can be filtered. When the filter or brush changes, all other charts are updated dynamically, using animated transitions.

Check out the example page and its annotated source for a quick five minute how-to guide. The detailed API reference is here (markdown version). For more examples and hints please visit the Wiki.


Please direct questions and support requests to Stack Overflow or the user group. When posting to Stack Overflow, use the [dc.js] and/or [crossfilter] tags - other tags are likely to draw unwanted attention.

Get help faster with a working example! Fork these to get started:
example jsFiddle - blank jsFiddle - example bl.ock - blank bl.ock


Version 3.* is compatible with d3 versions 4 and 5. Use dc.js 2.* if you still need compatibility with d3 version 3.

CDN location

or copy the latest links from CDNJS

Install with npm

npm install dc

Install with bower

bower install dcjs

Install without npm


How to build dc.js locally

Prerequisite modules

Make sure the following packages are installed on your machine

  • node.js
  • npm

Install dependencies

$ npm install

Build and Test

$ grunt test

Developing dc.js

Start the development server

$ grunt server


dc.js is an open source javascript library and licensed under Apache License v2.

You can’t perform that action at this time.