Beautiful, self-hostable GitHub stats cards for your README. Many themes, several visual styles, and no rate-limit headaches.
Most README stats cards depend on one shared public service that constantly hits GitHub's rate limit and gets paused (you have probably seen the broken image on someone's profile). gitglance is built to be self-hosted in one click: deploy your own instance, give it your own GitHub token, and your cards never break because of someone else's traffic.
- π¨ 16 visual styles:
default,vercel,vercel-lines,mono,terminal,glass,minimal,neon,gradient,aurora,mesh,waves,dots,grid,orbs,outline - π 21 color themes: dark, vercel, tokyonight, dracula, catppuccin, nord, gruvbox, rosepine, cyberpunk, ocean, sunset, forest, coffee, midnight, lavender, crimson, and more
- π 8 card types: stats, top languages, combined, donut chart, circular gauges, bar chart, repository pin, and commit activity
- π οΈ Fully customizable via URL params (colors, radius, width, title, borders)
- π Rich backgrounds: aurora light blobs, mesh gradients, layered waves, dot grids, all in pure SVG (no external assets, nothing to break)
- π¬ Animations that degrade gracefully: bars grow, charts fade in, aurora drifts, orbs float, a light sweep crosses vercel-lines. Cards always render complete even where animations do not run
- π§° Card builder page: open your instance root, pick options in dropdowns and copy the code
- β‘ Fast SVG output with sensible caching
- π Your token, your limits: self-host and never get rate limited again
vercel |
terminal |
|---|---|
default |
glass |
vercel-lines (animated sweep) |
mono (pure black and white) |
grid (blueprint pattern) |
orbs (floating circles) |
| Stats | Languages |
|---|---|
| Donut | Rings |
|---|---|
| Bars (neon style) | Bars |
| Repository card | Commit activity (28 days) |
|---|---|
| Aurora | Mesh |
|---|---|
| Waves | Dots |
| Outline | Gradient |
|---|---|
| Kangel (pixel typography, custom rings) | Kangel (stats) |
theme=kangel pairs a pink/purple/mint palette with pixel typography (Latin
text rendered as SVG glyph outlines, with automatic fallback fonts and
sizing for long values). Font credits and terms are in
lib/themes/kangel/README.md.
Have a color palette you love? We would love to add it. A theme is a small, self-contained file, no design tooling or backend knowledge required. Follow the step-by-step guide in docs/THEMES.md, open a pull request, and add yourself to the Contributions table below.
Everyone below has contributed a theme, style, or card to gitglance. Thank you!
| Theme/Style | Contributor | Comment |
|---|---|---|
| Kangel | @mikotokuroko | Pixel typography and custom ring colors inspired by the game Needy Streamer Overload |
Use the card builder to assemble your card visually and copy the code. A gallery of every style and theme is available at gitglance-eight.vercel.app/preview. Point any card at your own username by changing the username parameter.
gitglance is meant to run as your own instance so it uses your rate limit.
- Deploy this repo to Vercel (it is preconfigured,
vercel.jsonincluded). Use the "New Project" flow and import this repository. - Optional but recommended: add an environment variable
GITHUB_TOKEN(a classic token withpublic_reposcope) so you get 5000 requests/hour instead of 60. - Use your deployment URL in any README:
You can also try any card right now on the reference instance, just swap in your username:
Base: your deployment URL (live reference instance: https://gitglance-eight.vercel.app)
| Endpoint | Card |
|---|---|
/api/stats |
Overview numbers (stars, repos, followers, following) |
/api/langs |
Most used languages |
/api/combined |
Stats and languages side by side |
/api/donut |
Donut chart of languages with legend |
/api/rings |
Circular gauges for the four stats |
/api/bars |
Vertical bar chart of languages |
/api/repo |
Repository pin card (username + repo params) |
/api/activity |
Commit activity area chart (days param, 7 to 60, default 28) |
/api?type=stats|langs|combined |
Same, via the type param |
All parameters are optional except username.
| Param | Description | Example |
|---|---|---|
username |
GitHub username (required) | username=torvalds |
style |
default, vercel, vercel-lines, mono, terminal, glass, minimal, neon, gradient, aurora, mesh, waves, dots, grid, orbs, outline |
style=aurora |
theme |
Color theme (see list below) | theme=dracula |
langs_count |
Number of languages to show (1 to 10) | langs_count=6 |
title |
Custom card title | title=My%20Stats |
hide_title |
Hide the title | hide_title=true |
hide_border |
Hide the outer border | hide_border=true |
border_radius |
Corner radius in px | border_radius=20 |
width |
Card width in px | width=500 |
title_color |
Override title color (hex, no #) | title_color=ff79c6 |
text_color |
Override text color | text_color=ffffff |
bg_color |
Override background color | bg_color=0d1117 |
border_color |
Override border color | border_color=30363d |
kangel, dark, light, vercel, tokyonight, dracula, nord, gruvbox, catppuccin, synthwave, rosepine, onedark, monochrome, cyberpunk, ocean, sunset, forest, coffee, midnight, lavender, crimson
npm install
GITHUB_TOKEN=your_token npm start
# open http://localhost:3000/preview to see every style and themeThe /preview route renders a gallery of all styles and themes for quick visual checks.
gitglance fetches public data from the GitHub REST API and renders a self-contained SVG (no headless browser). Cards are cached for six hours. Because you run your own instance with your own token, availability is in your hands, not a shared public service.
New themes and styles are very welcome. A theme is a small palette in lib/themes/; a style is a set of visual tokens in lib/styles/. See docs/THEMES.md for a step-by-step guide, including optional custom fonts and other per-theme behavior, plus how to add a new visual style or card type. Open a PR with a screenshot.
MIT Β© Rafael Oliveira
If gitglance is useful to you, a β helps other people find it.