Easily add rich, data-driven charts to your web & mobile apps, chat bots, and emails.

We’ve thought of everything to help you transform your data into chart images with less effort.

Get Started

Trusted by companies like

Simpleenergy logo bar 1a014f24b11fb01fc298c7778eedf7036d3f0d9e1ccc1696841356681192d2cc
Icm logo bar 34cb1e1e2eb8cb345b82717d60dec999db57843ff69596a26fd3251300a3651f
Amity logo bar 006b5fdc7f46a47eca2b059d122f1175b433071953370801ff8f5236378a379e
Dem logo bar 06df0ce75bbd3c1508317a65372a7e48d4fe46dc8ceefac3ea8fd1cdbe2e83fd
Controlgroup logo bar 417eb6f4dc80b2b5fb1ca8e587957b3955b89db77251689d24464e3d35fc5019
Statsbot logo bar 97767db83f737e1c88a0460cb0e0498c864fb5e40dced19412f5254011574b0c
Charts on every device e86685f1d8119944fcf61ace52249632536233234aa1599644bb481de476f361

Quickly generating thousands of personalized charts has never been easier!

You send us data, and we send you back a URL to an image like this one. We have an API you can integrate into your product, or you can upload a CSV like this and we'll send you back the same file with image URLs appended like this. It's that easy.

Quickly Creating Beautiful Chart Image URLs Has Never Been This Easy

Step 1: Create a 'Template'

ChartURL lets you create 'templates' which contain default parameters: chart type, labels, colors, even custom CSS. Once created, you get a slug, like weekly-activity that you can use when making API calls.

In those API calls, you can augment the template with data or override options completely.

Create template 222d933e67dd58fb300eeca4e2aaedadba80786f206f404ad9ef962549b40186

Step 2: Generate an image based on the template

There are two methods you can use to create an image URL.

Method 1: Short URL

This method lets you POST us as much data as you want and get back a short URL like this: https://charturl.com/r/nXN2.

Method 2: Signed URL

To avoid introducing the network latency of an API call on every image, you can also sign your URLs. This method limits the amount of data you can send, since URLs have a max length, but here is an example URL:

<img src=“https://charturl.com/r/J9lA” alt=“”/>


Want to know more? Check out our API documentation.

ChartURL API Docs

We've Thought Of Everything

Buy vs. Build? No Contest.

It took our developers over 40 hours to build the first version of this internally for Ramen. Save yourself that time, and never worry about keeping the servers up (and there are a lot of servers).

Built on open source charting libraries

Your charts get all the power and flexibility of libraries like Chart.js and C3.js.

Style Once. Use Everywhere.

Sick and tired of using different charting libraries for web, iOS, and Android? Just use ChartURL. With 'Templates', you can store all your style options with us and ensure your charts maintain a consistent style across all platforms.

Retina support

Add ?retina=1 onto any ChartURL url and get back an image at 2x resolution. Very handy for use in conjunction with the srcset attribute when sending images in email.

Perfect Sizing

Pass in height and width settings to get back the perfectly sized image for any device.

Built to Scale

You don't need lots of processing power to process screenshots... until you need 10 in each of the 100,000 emails you send out weekly. ChartURL was built to handle millions of image requests.

Not just images

Under the covers, we're just rendering a webpage and taking a screenshot. But Chartist.js has some pretty awesome animations and interactions thanks to CSS3. Just append `.html` to any URL (Encrypted or Short), use it for the `src` on an iframe tag, and watch the magic happen.

Simple energy logo a94f2c080d78fee447120f7d9b441a4ac5f9f3fbf7f317bb408bcbd6b2edb982
“We had a critical piece of functionality we wanted to ship to our customers and our development team said it would take weeks. When we discovered ChartURL it cut our development time drastically.”
Avatar yoav fbf0f5227793db8c2379f66c739800186cdbd8b74bfbbd5851adcd9c0666ef53 Yoav Lurie
CEO & Founder at Simple Energy

Amity logo 2308e799e8bee7584477a70bff9e92a4da941d3d15a3b7ead04454146113e7a2
“ChartURL solved a real pain point for us. We were up and running on day 1. It would have taken many weeks of development time time to building something half as good.”
Avatar paul ae3d00519472943467d562fa7b5eb0d6136b36f3286dac293b54e81086d2cba7 Paul Philp
CEO & Co-Founder at Amity

Mailmunch logo 592dea207212af377945563e98182bf9a0fe340dd43f88bebd60422bb478ee91
“I found ChartURL and thought its going to be a perfect fit for sending some beautiful charts in weekly email summaries. It was super easy to integrate and works as expected.”


$149/month Enterprise
  • 500,000 images
  • $0.25 per 1,000 additional images
  • No ChartURL Branding
  • Full Email Support
  • Access to ShortURL Bulk API
$89/month Premier
  • 250,000 images
  • $0.50 per 1,000 additional images
  • No ChartURL Branding
  • Full Email Support
$39/month Professional
  • 50,000 images
  • $0.75 per 1,000 additional images
  • No ChartURL Branding
  • Full Email Support

Forever Free Plan: 200 images/month; includes ChartURL branding on images; basic email support; credit card required.

No Credit Card Trial: Try out ChartURL as much as you want without a credit card. Images will be watermarked (not just branded) until credit card is entered.


Rarely Asked Questions.

Doesn't this already exist?
We couldn't find it anywhere. If it exists, it has really poor SEO :)

But isn't this just Google Charts?
Nope. Google Charts is a JavaScript charting API which lets you embed charts in web/mobile apps. Google also has a related "Image Chart API", but it has been deprecated for some time. Although they say they have no plans of killing the API, we wanted something more reliable than "deprecated." We also wanted to create a solution that allowed for sending more data without running up against the 2,000 character max-URL size limitation.

This seems like a pretty new product, is it stable?
Yes ChartURL launched in late 2015 and it is profitable. Rest assured it is not going anywhere. We built ChartURL because other services were deprecated and no longer reliable.

How does 'per image' billing work?
You get charged based on the number of images we generate. We don't generate an image until it is viewed. If you send out 100,000 emails each with 2 images, and you get a 10% open rate you'll be charged for (100,000 * 2 * 0.1 =) 20,000 images. You don't get billed for loading an image multiple times.

Do I get charged for bandwidth?
We've factored in some generous bandwidth considerations into our pricing, but if things get crazy, we may require you to give us S3 keys. In that event, we'll give you a pretty hefty break on our prices.

What happens if I send an email but the image gets opened during my next billing cycle?
The image will get attributed to your next billing cycle. If you canceled your account, and did not leave a credit card on file with us, we will return a "Chart Not Available" image. We won't make you look bad. It will be classy.

What does the branding look like?
A small, slightly transparent image saying "ChartURL.com". You can see it in the images above.

How long does it take images to load?
Size of the image and network speeds will obviously have an impact, but an 800x400 PNG will render on our end in around 500ms.

Can I test on a development environment?
Yes, when you create your account, you'll get two API keys: one for production and one for development environments. Images generated with the development keys will always be watermarked, but you'll never get billed for them.