Question: I am using Chart.js. I am trying to convert the chart to an image by getting a base 64 string. The tutorial (<http://www.chartjs.org/docs/>) devotes an entire 1 line on the topic:

> 
> The canvas element also allows for saving the contents as a base 64
>  string, allowing saving the chart as an image.
> 
> 
> 

A `canvas` element has the method of `toDataURL`, which returns a base64 string of the image. However, when I do that, the image it renders is just a transparent rectangle with the dimensions of the chart, and it does not include the chart contents. 

Here is a fiddle: <http://jsfiddle.net/KSgV7/>

The "images" in the fiddle are styled with a black border, so you can see where they are supposed to be, since they seem to just be a big transparent block.

Has anyone successfully converted a Chart.js chart to an image?

Answer: 
First convert your Chart.js canvas to base64 string.

`var url_base64 = document.getElementById('myChart').toDataURL('image/png');`

Set it as a href attribute for anchor tag.

`link.href = url_base64;`

`<a id='link' download='filename.png'>Save as Image</a>`
@EH\_warch
You need to use the Complete callback to generate your base64:

```
onAnimationComplete: function(){
    console.log(this.toBase64Image())
}

```

If you see a white image, it means you called the toBase64Image before it finished rendering.