Learn D3 for free

Unlock CourseGet started!

Join 10639 other students

Sign in to get
Access to 30+ free courses
New courses added monthly
Weekly coding challenges
Huge discord community
Exclusive chat access
Unlock Course
Subscribe to access!Black Friday discount
Get access to this course and ALL other Scrimba courses at great value. Our 30-day money back guarantee makes this risk free for you.
Career Path includes
75+ hours of content
100s of coding challenges
Exclusive Study Group access
HTML, CSS, JS & React
Getting Hired section
30-day money-back guarantee
Subscribe now!62% covid discountSubscribe to access with 62% covid discount.
The course creator Sohaib Nehal

with Sohaib Nehal

10639 students enrolled

Course level: Intermediate

This D3 tutorial teaches you how to create powerful data visualizations for the web. It gives you a fast introduction to the key concepts of D3.js, like selections, data, axes, scales, bar charts, pie charts, SVG elements, and more.

You'll learn

D3 Basics
Selection and manipulation
Data loading
Data joins
Creating SVG elements
Creating bar charts
Creating pie charts
Creating line charts


Before taking this course, you should have a basic understanding of HTML, CSS, and JavaScript. Here’s our suggested resources to get you up to speed.

The course creator

Meet your teacher

Sohaib Nehal

Sohaib is a full-stack developer based i Karachi. He's passionate about travelling, meeting new people, trying new food, and discussing unique ideas. Sohaib has helped tens of thousands developers learn D3.js with his course and articles.

Follow me on twitter

Why this course rocks

D3.js is the most popular data visualization library for the web. It's written in JavaScript and it allows you to make sense of your data through a powerful API. It uses HTML, CSS, and SVG to create visualizations which can be viewed on any modern browser.

Throughout this course you'll learn the most important features of D3 JS while building four different data visualizations. You'll be able to play around with the code whenever you want, so that you can be sure that you'll understand how it works.

What you'll learn:

  • Selection
  • Data loading
  • Data joins
  • Attributes
  • Axes
  • Scales
  • Elements
  • Labels
  • Paths
  • Creating SVG elements
  • Creating bar charts
  • Creating pie charts
  • Creating line charts

If you complete this course, you'll know how to use the following features of the D3js:

  • select(), selectAll(), append(), text(), attr()
  • data(), enter()
  • d3.max(), d3.min()
  • height, width, x, y, transform, fill
  • rect, line, circle
  • axisBottom(), axisTop(), axisRight(), ,axisLeft()
  • scale(),scaleLinear(), domain(), range()

...and much more!

And remember, this isn't a regular video course, it's a Scrimba course! This means you can interact with the code inside the tutorials whenever you want, which makes learning much more fun!

The instructor behind the course is the eminent Sohaib Nehal. Feel free to rech out to him via Twitter @Sohaub_Nehal if you have feedback or questions.

Join the Scrimba community chat

Learning alone can be lonely. Click here to join our Discord server and connect with other Scrimba learners!

F to the A oracle to the Q

What is D3.js?

D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3’s emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.

Is D3.js easy to learn?

D3.js is a very powerful, yet simple, JavaScript library that allows you to play with and bring life to documents based on data using HTML, CSS, and SVG. There are a lot of good resources available online to learn D3.js. There is a free course on D3.js which we have created on Scrimba and is available for free here.

What is D3.js used for?

D3.js (also known as D3, short for Data-Driven Documents) is a JavaScript library for producing dynamic, interactive data visualizations in web browsers. It makes use of the widely implemented Scalable Vector Graphics (SVG), HTML5, and Cascading Style Sheets (CSS) standards.

Join the JS advent calendar 🌲Go Pro!
Built with Imba