.net Powerful JavaScript charts
RGraph is a JavaScript charts library based on HTML5 SVG and canvas. RGraph is mature (over 15 years old) and has a wealth of features making it an ideal choice to use for showing charts on your website.

More »


Get the latest version of RGraph (version 6.18, 1st June 2024) from the download page. You can read the changelog here. There's also older versions available, minified files and links to hosted libraries.

More »


RGraph can be used for free under the GPL or if that doesn't suit your situation there's an inexpensive (£129) commercial license available.

More »

Version 5.21 of RGraph is now available

Written by Richard Heyes, RGraph author, on 1st February 2020

This release doesn't contain a large number of changes - not visible changes at least. What it does contain is some significant under-the-hood changes to charts that use an x-axis or a y-axis. That means that the Bar, Gantt, Horizontal Bar, Line, Scatter and Waterfall charts are all affected - in that they all now use the same code to draw the x-axis and y-axis.

This change only affects these chart types but does so in quite a fundamental way and the result is that any code to render axes has been removed. So if you happen to include two or more of the mentioned libraries you'll end up including less javascript code on your page. So it will be faster!

Other changes can be viewed on the changelog and one of them is that a significant bug in 3D Donut charts has been remedied. This bug didn't prevent their display but did make them look different from what they should. You can see a demo of a large 3D Donut chart in the download and you can download the new version of RGraph on the download page.

What's coming in the next version?

A feature that should prove to be extremely useful - formatted tooltips. What this means is that you'll be able to significantly reduce the amount of code that you write to implement tooltips. Consider the following:

tooltips: 'Sales on %{property:xaxisLabels[index]}: %{value_formatted}}',

Instead of an array of hard-coded strings, what you have here is a single string that can have certain "macros" embedded which RGraph will then substitute for the relevant bit of text.

So less code for you to write and maintain. You can see an example page that shows this forthcoming feature in the demo page bar-tooltip-templates.html in the download archive.