A multi-dimensional charting library built to work natively with crossfilter and rendered using d3.js

Usage no npm install needed!

<script type="module">
  import dc from 'https://cdn.skypack.dev/dc';


Build Status Sauce Status NPM Status cdnjs Status Join the chat at https://gitter.im/dc-js/dc.js


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:
blank jsFiddle - example jsFiddle - blank bl.ock - example bl.ock


Version 4.* is compatible with d3 versions 4 and 5. It is not compatible with IE. Use dc.js 3.* if you need IE support, or use dc.js 2.* if you need compatibility with d3 version 3.

CDN location


or copy the latest links from CDNJS

Install with npm

npm install dc

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
  • Jasmine specs are hosted at http://localhost:8888/spec
  • The stock example is at http://localhost:8888/web
  • More examples are at http://localhost:8888/web/examples


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