40 JavaScript Chart and Graph Libraries

A chart displays data and information graphically and helps you to understand your data and project easily. Every business requires charts or graphs to understand and visualize the data and its workflow that help its users to grab better productivity and reliability for their applications and projects.
With JavaScript Chart and Graph Libraries you can easily visualize your data for your web applications and projects.

For this roundup we have chosen some of the best JavaScript Chart and Graph Libraries for developers that will help them to crate and visually their data in the form of charts and graphs. If we have missed any please let us know by posting a comment below.

Enjoy the list !!

1. FusionCharts Suite XT

FusionCharts JavaScript Charts 7
FusionCharts Suite XT is a lightweight, pure JavaScript charting library that allows users to create beautiful, interactive JavaScript charts. FusionCharts uses SVG and provide various type of charts including line, area, column, bar, gantt, funnel, waterfall and maps etc. When building something complicated, besides the features, the support becomes important too. FusionCharts Suite XT is very well-documented, has an active community forum and comes with pro support. The library has a detailed pricing structure that covers many use-cases like: commercial website, intranet, , RDL and SAAS.

2. Chartlist.js

Chartist.js is a simple responsive charting library built with SVG. Chartist’s goal is to provide a simple, lightweight and non-intrusive library to responsive craft charts on your website. Chartist works with inline-SVG and therefore leverages the power of the DOM to provide parts of its functionality. This also means that Chartist is not providing it’s own event handling, labels, behaviors and anything else that can just be done with plain HTML, JavaScript and CSS.

3. Timesheet.js

Timesheet.js is a javascript library for simple HTML5 & CSS3 time sheets. You can visualize your data and events with sexy HTML5 and CSS3 with few lines JavaScript.

4. P5 JS

A JS client-side library for creating graphic and interactive experiences, based on the core principles of Processing.

5. Vis.js

Vis.js is a dynamic, browser based visualization library. The library is designed to be easy to use, handle large amounts of dynamic data, and enable manipulation of the data. The library consists of the following components: DataSet and DataView.

6. Chart.js

Chart.js is an easy, object oriented client side graphs for designers and developers. You can visualise your data in 6 different ways. Chart.js uses the HTML5 canvas element. It supports all modern browsers, and polyfills provide support for IE7/8. Chart.js is dependency free, lightweight (4.5k when minified and gzipped) and offers loads of customization options.

7. Plottable.js

Plottable.js is a library for easily creating flexible, interactive, and performant charts for the web. It is built on top of D3 and provides higher-level pieces, like plots, gridlines, and axes. As such, it's easier to quickly build charts.

8. dc.js

dc.js is a javascript charting library with native crossfilter support and allowing highly efficient exploration on large multi-dimensional dataset. The main objective of this library is to provide an easy yet powerful javascript library which can be utilized to perform data visualization and analysis in browser as well as on mobile device.

9. Epoch

Epoch is a general purpose real-time charting library for building beautiful, smooth, and high performance visualizations. It focuses on two different aspects of visualization programming: basic charts for creating historical reports, and real-time charts for displaying frequently updating timeseries data.

10. 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.

11. Cytoscape

Cytoscape.js is an open-source graph library written in JavaScript. You can use Cytoscape.js for graph analysis and visualisation. It's compatible with CommonJS/Node.js, jQuery 1.4+, and plain JavaScript.

12. EmberCharts.js

Ember Charts is a charting library built with the Ember.js and d3.js frameworks. It includes time series, bar, pie, and scatter charts which are easy to extend and modify. The out-of-the-box behavior these chart components represents their thoughts on best practices in chart interactivity and presentation.

13. Sigma.js

Sigma is a JavaScript library dedicated to graph drawing. It makes easy to publish networks on Web pages, and allows developers to integrate network exploration in rich Web applications. Sigma provides a lot of built-in features, such as Canvas and WebGL renderers or mouse and touch support, to make networks manipulation on Web pages smooth and fast for the user.

14. Xcharts

xCharts is a JavaScript library for building beautiful and custom data-driven chart visualizations for the web using D3.js. Using HTML, CSS, and SVG, xCharts are designed to be dynamic, fluid, and open to integrations and customization.

15. JointJS

JointJS is a modern HTML 5 JavaScript library for visualization and interaction with diagrams and graphs. It can be used to create either static diagrams or, and more importantly, fully interactive diagramming tools and application builders. JointJS makes it easy to create visual languages & tools of various kinds.

16. Dygraph.js

Dygraphs is fast, flexible open source JavaScript charting library. It allows users to explore and interpret dense data sets. ou can mouse over to highlight individual values. Click and drag to zoom. Double-click to zoom back out.

17. Raphaël.js

Raphaël is a small JavaScript library that should simplify your work with vector graphics on the web. If you want to create your own specific chart or image crop and rotate widget, for example, you can achieve it simply and easily with this library.

18. Hightcharts.js

Highcharts JS is a charting library written in pure JavaScript, offering an easy way of adding interactive charts to your web site or web application. Highcharts JS currently supports line, spline, area, areaspline, column, bar, pie and scatter chart types.

19. AmCharts.js

AmCharts is an advanced charting library that will suit any data visualization need. AmCharts includes Column, Bar, Line, Area, Step, Step without risers, Smoothed line, Candlestick, OHLC, Pie/Donut, Radar/ Polar, XY/Scatter/Bubble, Bullet, Funnel/Pyramid charts as well as Gauges.

20. Polymaps

Polymaps is a free JavaScript library for making dynamic, interactive maps in modern web browsers. Polymaps provides speedy display of multi-zoom datasets over maps, and supports a variety of visual presentations for tiled vector data, in addition to the usual cartography from OpenStreetMap, CloudMade, Bing, and other providers of image-based web maps.

21. C3.js

C3.js is a D3-based chart library that allows you to integrate charts into web applications more deeply.

22. jFreeChart

JFreeChart is a free 100% Java chart library that makes it easy for developers to display professional quality charts in their applications.The JFreeChart project was founded seven years ago, in February 2000, by David Gilbert.

23. Springy.js

Springy.js is a JavaScript library that relies on an algorithm to create force-directed graphs, resulting in nodes reacting in a spring-like manner on the web page. Although Springy.js comes configured with a predefined algorithm, options such as spring stiffness and damping can easily be passed as parameters

24. JS Charts

JS Charts is a JavaScript based chart generator that requires little or no coding. With JS Charts drawing charts is a simple and easy task, since you only have to use client-side scripting (i.e. performed by your web browser). No additional plugins or server modules are required. Just include our scripts, prepare your chart data in XML, JSON or JavaScript Array and your chart is ready.

25. Morris.js

Morris.js is the library that powers the time-series graphs. It's a very simple API for drawing line, bar, area and donut charts.

26. Zing Chart

ZingChart is a powerful library providing users with the ability to quickly create beautiful charts, dashboards, and infographics. Choose from hundreds of chart types with nearly limitless chart design and customization options.

27. Canvasjs

CanvasJS is an easy to use HTML5 & JavaScript Charting library built on Canvas element. Graphs can render across devices including iPhone, iPad, Android, Windows Phone, Microsoft Surface, Desktops, etc. This allows you to create rich dashboards that work on all devices without compromising on maintainability or functionality of your web application.

28. Sparky

Sparky is a free JavaScript sparklines library that depends on Raphaël and very easy to use. It has support for multiple chart types (line, bar and area) where line + area charts can have multiple colors as well.

29. ElyCharts

Elycharts is an easy-to-use and customizable library for creating charts with only JavaScript. The library supports most of the popular chart types including line, column, are, bar, pie, sparklines and combinations. Elycharts comes with many interactions like mouse tracking and events, highlight of selected areas with various animations, tooltip and hints, html anchors and many more.

30. Grafico

Grafico is a javascript charting library built with Raphaël and Prototype.js. The library provides a wide array of graphs and stays with the guidelines laid out by Stephen Few and Edward Tufte.

31. Flotr

Flotr is a javascript plotting library based on the Prototype Javascript Framework (version at the moment) and inspired by Flot (written by Ole Laursen). It comes with great features like legend support, negative value support, mouse tracking, selection support, zoom support, event hooks, CSS styling support and much more.

32. Arbor

Arbor is a graph visualization library built with web workers and jQuery. Rather than trying to be an all-encompassing framework, arbor provides an efficient, force-directed layout algorithm plus abstractions for graph organization and screen refresh handling.

33. AwesomeChartjs

AwesomeChartJS is a simple Javascript library that can be used to create charts based on the HTML 5 canvas element. The main goal during development was to pick sane defaults in order to let the user create simple charts quickly with just a couple of lines of code. One can create at almost no time bar, pie, doughnut and Pareto charts.

34. rGraph

RGraph is a HTML5 canvas and JavaScript based library built for web charts and supports over twenty different types of visualisation. Using the canvas tag, RGraph creates these “HTML5 charts” inside the web browser using JavaScript, meaning quicker pages and less web server load. This leads to smaller page sizes, lower costs and faster websites.

35. JSXGraph

JSXGraph is a cross-browser library for interactive geometry, function plotting, graphs, and data visualization in a web browser. It is implemented totally in JavaScript and uses SVG and VML. It supports many, basic to advanced, mathematical functions that make creating complex visualizations easier.

36. Envision.js

Envision.js is a JavaScript library to simplify creating fast and interactive HTML5 visualizations. It comes with 2 chart types; TimeSeries + Finance and with an API for developers to build custom charts. The library is built on top of Flotr2 and the HTML5 Canvas. It is framework agnostic and depends on few micro libraries.

37. CanvasXpress

CanvasXpress is a standalone HTML5 graphing library written in Javascript that includes a simple and unobtrusive user interfase to explore complex data sets. CanvasXpress is supported in all major browsers in computers and mobile devices.

38. Plotkit

PlotKit is a Chart and Graph Plotting Library for Javascript. It has support for HTML Canvas and also SVG via Adobe SVG Viewer and native browser support. It is fully documented and easy to use.

39. Flot

Flot is a pure JavaScript plotting library for jQuery, with a focus on simple usage, attractive looks and interactive features. It Works with Internet Explorer 6+, Chrome, Firefox 2+, Safari 3+ and Opera 9.5+.

40. SmoothieCharts

Smoothie Charts is a really small charting library designed for live streaming data. Joe Walnes wanted to show real time streaming data pushed over a WebSocket. Although many of the charting libraries allow you to dynamically update data, none have really been optimized for a constant stream of data.