Live status: ghstats.dev/status for API uptime, endpoint health, and response times.
Free, real-time GitHub stat cards, badges, and charts -- drop a URL into your README and you're done. No tokens, no setup.
Standard card
[](https://github.com/rowkav09/GitHub-profile-stats)
Compact grids (3 / 4 / 6)
[](https://github.com/rowkav09/GitHub-profile-stats)
[](https://github.com/rowkav09/GitHub-profile-stats)
[](https://github.com/rowkav09/GitHub-profile-stats)
Languages (bar, stacked, grid, horizontal list, vertical list, donut, vertical donut, compact)
Mini badges (drop anywhere)
Any metric, any colour, any style — perfect for sprinkling through a README.
Pass label=... to override the default label text and style=... to switch between flat, flat-square, for-the-badge, plastic, and minimal (see the table below).
Badge styles -- pick a look
| Style | Preview |
|---|---|
flat |
|
flat-square |
|
for-the-badge |
|
plastic |
|
minimal |
Apply with ?style=for-the-badge on /api/mini or /api/badge. Works alongside color and label.
Activity sparkline (7--90 days)
[](https://github.com/rowkav09/GitHub-profile-stats)
Quick colour override
https://ghstats.dev/api/card?username=YOUR_USERNAME&bg=0f0f23&text=cccccc&title_color=ffff66&icon_color=ff6644
- Create a public repo named your-username on GitHub and add a
README.md. - Paste an embed from the gallery above. Done.
Need tweaks? Use the on-page editor to toggle stats, themes, borders, titles, and copy Markdown/HTML instantly.
Card ( /api/card )
username(required)alltime=true(optional; returns all-time commit, PR, issue, and estimated-hours totals)themedefaultdefault- Layout:
size=default|compact,compact_count=3|4|6,show_emoji=true - Visibility:
hide=stars,issues,...,show_ring,show_icons,hide_title,hide_border - Styling:
bg,text,title_color,icon_color,border_color,border_radius,custom_title,order
Languages ( /api/langs )
layout=bar|stacked|horizontal_list|vertical_list|grid,max_langs(1--12)hide_border,hide_title,custom_title,border_radius, theme overrides as above
Mini badges ( /api/mini )
metric=stars|commits|prs|issues|hours|streak|week|followers|repos|contributionslabel(override text),color(value side),theme(for errors)style=flat|flat-square|for-the-badge|plastic|minimal(defaultflat)
Counter badge ( /api/badge )
style=flat|flat-square|for-the-badge|plastic|minimal(defaultflat)
Visits badge ( /api/visits )
style=flat|flat-square|for-the-badge|plastic|minimal(defaultflat)
Note:
hoursis currently WIP and is an estimate, not exact tracked coding time.
Sparkline ( /api/sparkline )
days(7--90),width(180--800),height(40--240),line_color,fill_color,title,hide_border,border_radius
Default, Light, Radical, Tokyo Night, Dracula, Nord, Gruvbox, Catppuccin, Ocean, Sunset, Forest, Midnight, Night Owl, Solarized, Ayu, Rose Pine, Kanagawa, Material Palenight.
- Token needed? Yes -- the GitHub GraphQL API requires a valid token. Set
GITHUB_TOKEN,GH_TOKEN, orGITHUB_ACCESS_TOKEN. - Refresh rate? Tiered by endpoint so slower-moving badges can stay cached longer while activity-focused embeds refresh sooner.
- Free? Yes. MIT licensed.
- Where to tweak without URLs? ghstats.dev/builder.
/api/cardand activity-oriented mini badges (commits,prs,issues,streak,week,contributions) are cached for about 30 minutes at the edge./api/langs,/api/badge, and slower-moving mini badges likefollowersandreposare cached for about 6 hours at the edge.starsmini badges are cached for about 24 hours at the edge./api/visitsis intentionally uncached so counters increment on every request.
- PRs welcome -- see CONTRIBUTING.md.
- Like it? Drop a star on the repo: GitHub.
MIT
Generate a shareable profile card for posts, portfolios, and profile pages:
https://ghstats.dev/api/profile?repo=octocat/Hello-World&theme=github&type=repo
Use the PNG endpoint for LinkedIn and other sites that require an uploaded raster image:
https://ghstats.dev/api/profile/png?username=octocat&theme=dark&type=profile&download=true
# Contribution heatmap
https://ghstats.dev/api/profile/png?username=octocat&theme=dark&type=contributions
| Parameter | Values | Default |
|---|---|---|
username |
GitHub username (profile card) | required unless repo is set |
repo |
owner/name (repository card) |
required unless username is set |
type |
repo, profile, compact, contributions |
repo |
theme |
github, light, dark, ocean, violet, amber |
github |
title |
custom heading, up to 80 characters | generated |
subtitle |
custom description, up to 140 characters | generated |
show_avatar |
true, false |
true |
show_languages |
true, false |
true |
bg, panel, text, muted, accent, border |
six-digit hex without # |
theme value |
download |
true forces attachment download (PNG only) |
false |
The preset and layout registries are separate, so adding a new colour preset or card type does not require changing the API routes.