quickchart.io
A client for quickchart.io, a service that generates static chart images
What it is and what it does
quickchart-io is a Python wrapper around the quickchart.io web service that converts Chart.js chart configurations into static images. You define a chart using a Python dict or string following the Chart.js schema, set dimensions and rendering options on a QuickChart object, then call get_url() to receive an encoded URL that renders the chart, or get_bytes() to fetch the image directly. The library handles URL encoding, supports both long-form and short-form URLs (the latter persisting only temporarily on the free tier), and allows customization of image format, dimensions, background color, device pixel ratio, and Chart.js version.
The package is useful when you need to embed or serve static chart images without running a headless browser or charting library locally. It relies on requests for HTTP communication and requires Python 3.9 or later. Short URLs require a network call to the quickchart.io service; long URLs are self-contained and do not. For charts containing JavaScript functions (e.g., custom tick formatters), the library provides a QuickChartFunction class to embed them correctly.
Use it for:
- Generate chart images for email reports or PDF exports without server-side rendering infrastructure.
- Create shareable URLs for charts that can be embedded in web pages or shared via messaging.
- Build dashboards or monitoring tools that need to display static chart snapshots at regular intervals.
- Convert Chart.js configurations (common in web frontends) into images for backend processing or archival.
- Generate charts with custom JavaScript functions for label formatting or data transformation.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Generates static chart images by encoding Chart.js configurations into URLs or retrieving rendered bytes from the quickchart.io web service.
Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction (one dependency), and is MIT-licensed. Install it if you need to generate static chart images from Chart.js configs without managing a headless browser or charting library. Be aware that short URLs require a live connection to quickchart.io and expire unless you have a paid subscription.
Install
quickchart-io on PyPI
pip
pip install quickchart-iouv
uv add quickchart-iopoetry
poetry add quickchart-ioInstalling quickchart.io
Before you install
Low friction: single runtime dependency (requests), pure Python wheel, actively maintained with a commit on 2026-06-30 and a release 45 days prior.
License in practice
MIT license permits commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install quickchart.io
from quickchart import QuickChart
qc = QuickChart()
qc.width = 500
qc.height = 300
qc.config = {"type": "bar", "data": {"labels": ["Hello", "World"], "datasets": [{"label": "Foo", "data": [1, 2]}]}}
print(qc.get_url())
Requires Python 3.9 or later; version 3.0.0 and later do not support Python 3.7 or 3.8.
Verify before relying
- Whether the quickchart.io service has rate limits or quotas that affect typical usage patterns.
- Performance characteristics when generating charts with very large datasets or complex configurations.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — requests |
| Maintenance | actively maintained — 45 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 100,591/month — #12,980 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: quickchart_io-3.0.0-py3-none-any.whl
Keywords: chart api, chart image, charts
Tags
More Graphics packages
Pillow adds image processing capabilities to…
permissive · top 100 on PyPI
fonttoolsfonttools manipulates font files in multiple…
permissive · top 1,000 on PyPI
matplotlib-inlineEnables matplotlib figures to display inline…
permissive · top 1,000 on PyPI
pymupdfPyMuPDF extracts, renders, converts, and…
agpl · top 1,000 on PyPI
pypdfium2pypdfium2 is a Python binding to PDFium that…
permissive · top 1,000 on PyPI
altairAltair is a declarative Python library for…
permissive · top 1,000 on PyPI
python-nvd3Generates interactive NVD3 charts (pie, line,…
permissive · top 5,000 on PyPI
pdf417genEncodes text and binary data into PDF417 2D…
permissive · top 15,000 on PyPI
vl-convert-pythonConverts Vega-Lite chart specifications to…
permissive · top 5,000 on PyPI
staticmapGenerates static map images with geographic…
unclear · top 15,000 on PyPI
chart-studioProvides utilities to interface with Plotly's…
permissive · top 15,000 on PyPI
pygaljsProvides JavaScript assets from the pygal.js…
permissive · top 15,000 on PyPI
highcharts-coreGenerates interactive Highcharts data…
unclear · top 15,000 on PyPI
PyQRCodePyQRCode generates QR codes in pure Python and…
permissive · top 15,000 on PyPI
wavedromConverts WaveDrom-compatible JSON…
permissive · top 15,000 on PyPI
colourConverts between and manipulates color…
permissive · top 5,000 on PyPI