Google Image Charts was the static chart API at chart.googleapis.com/chart. One URL went in, one PNG came back, and every setting lived in query parameters such as cht, chd and chs. Google deprecated it in 2012 and switched it off in 2019. Image-Charts reads those same parameters, so the migration is a host swap.
Change the domain from chart.googleapis.com to image-charts.com. The chart parameters keep the same names and the same syntax, so the rest of the query string travels across untouched. For most URLs that makes Image-Charts a drop-in replacement, and the table below marks the places where it is not.
Google Image Charts, returns 404
https://chart.googleapis.com/chart?cht=bvg&chd=t:60,40,75|30,55,45&chs=700x300&chtt=Requests+per+month
Image-Charts, renders the chart below
https://image-charts.com/chart?cht=bvg&chd=t:60,40,75|30,55,45&chs=700x300&chtt=Requests+per+month
Google announced the deprecation of Image Charts in April 2012 and committed to keeping the service running for three more years. The turndown landed in March 2019.
Since then chart.googleapis.com/chart answers with an HTTP 404 whatever you send it. Bar charts, pie charts and QR codes all come back as a Google error page rather than an image.
The failure is quiet. An image tag inside an email, a PDF report, a Confluence page or a customer-facing dashboard raises no error when the source dies. It renders a broken image, and you usually hear about it from a customer rather than from a monitor.
Google documented 30 parameters for Image Charts. 23 work on Image-Charts unchanged, 1 is accepted and ignored, and 6 have no equivalent. The table below is built from the Image-Charts API specification, with every behaviour difference spelled out.
| Parameter | What It Controls | On Image-Charts |
|---|---|---|
| cht | Chart type | Same values. Image-Charts adds bubble, polar area and doughnut types. |
| chd | Data series | Same encodings. Adds chd=a:, a floating point format with no 0 to 100 or 0 to 4095 ceiling and automatic scaling. |
| chds | Custom or automatic data scaling | Same syntax. The default y axis prints your real values instead of the 0 to 100 range Google kept. |
| chs | Chart size in pixels | Same syntax. Up to 998,001 pixels in total and 999 px per side, against 300,000 pixels on Google. |
| chl | Bar, slice and point labels | Same. |
| chco | Series colors | Same. |
| chtt | Chart title | Same. |
| chts | Title color and font size | Same. |
| chxt | Which axes are shown | Same. |
| chxl | Custom axis labels | Same. |
| chxr | Axis range | Same syntax. Changing the axis range also rescales the data, which is what most people expected Google to do. |
| chxs | Axis label font and color | Supported. Scientific notation, label alignment and per-axis line color are not implemented. |
| chxp | Axis label positions | Same. |
| chdl | Legend text | Same. |
| chdlp | Legend position and order | Same. |
| chdls | Legend font and color | Same. |
| chf | Background and series fills | Same syntax. Gradients work on bar, line, pie and bubble charts, where Google allowed them on bar charts only. |
| chm | Markers and compound charts | Supported. The optional z-order field is ignored. |
| chls | Line thickness and dashes | Same. |
| chg | Grid lines | Same. |
| chma | Chart margins | Same syntax, and negative margins are allowed. |
| chof | Output format | Same. |
| chld | QR code error correction and margin | Same. |
| chbh | Bar width and spacing | Accepted and ignored. Bar widths are computed for you. |
| chem | Dynamic icon markers | No equivalent. |
| chfd | Formula-generated data | No equivalent. |
| chp | Pie rotation and bar zero line | No equivalent. |
| chst | Dynamic icon type | No equivalent. |
| chtm | Map area | No equivalent. |
| chxtc | Axis tick mark length | No equivalent. |
Bar, line, pie, radar, GraphViz and QR code charts read the cht values you already use. Scatter plots, Venn diagrams, Google-o-meter gauges, map charts and dynamic icons have no Image-Charts equivalent, so those URLs need a different answer.
A few parameters exist only on Image-Charts: chan renders an animated GIF, chbr rounds bar corners, chli puts a label inside a doughnut, icff and icfs select a Google Font and its style, iclocale formats numbers and dates for a language, and icretina doubles the pixel density. The reference documentation covers each one.
If the charts you are rebuilding are generated by a scheduled job or a no-code tool rather than by your own code, the integrations and the agent tooling reach the same API without a rewrite.