A chart for any GitHub project
Pick up to 5 repos, get a clean SVG showing their star growth side by side. Drop the <img> tag in your README, blog, or docs.
Build a chart
3 repos · vercel/next.js, denoland/deno, ollama/ollama
Preview
Open in new tab/api/chart?repos=vercel%2Fnext.js%2Cdenoland%2Fdeno%2Collama%2Follama&layout=rel<a href="https://gitpop.com/chart?repos=vercel%2Fnext.js%2Cdenoland%2Fdeno%2Collama%2Follama&layout=rel"> <img src="https://gitpop.com/api/chart?repos=vercel%2Fnext.js%2Cdenoland%2Fdeno%2Collama%2Follama&layout=rel" alt="Star history: vercel/next.js vs denoland/deno vs ollama/ollama" /> </a>
The image is a regular .svg you can host anywhere — or just point at GitPop:
<a href="https://gitpop.com/chart?repos=vercel/next.js,denoland/deno">
<img
src="https://gitpop.com/api/chart?repos=vercel/next.js,denoland/deno&layout=rel&theme=dark"
alt="Star history: vercel/next.js vs denoland/deno"
/>
</a>Query params: repos (1-5, comma-separated) · layout=rel|abs (default rel) · theme=dark|light (default dark) · days=7-365 (default 90) · w / h (200-1600 / 80-800)
Cached at the edge
Every chart is hashed, persisted, and served with max-age=3600 — second request is a 0 ms DB hit.
Two layouts
rel normalizes each repo to 100% at its first data point — ideal for comparing a 5k-star repo against a 100k-star one. abs shows raw totals.
Free, no auth
No API key, no rate limit for read traffic. Set CHART_MAX_REPOS_COMPARE to cap it on your own deployment.