GitHub README stats cards, compared

A stats card is an image in your profile README that redraws itself from your GitHub activity. There are a handful of popular ones, and they differ in two ways that matter: what they show, and who keeps them running. Some are a URL you paste; others ask you to host your own copy or run a GitHub Action so the card doesn't break when a shared server is busy.
GitShine makes one of the cards below, so we've stuck to what each project says about itself in its own README, and we say where another one is the better pick.
The short answer
- Paste one line, nothing to host: GitShine's README card (contribution graph, streaks, stars, languages), or the public instances of github-readme-stats and github-readme-streak-stats if you accept that their maintainers call them best-effort.
- Private contributions in the numbers: github-readme-stats or github-readme-streak-stats on your own deployment or GitHub Action, with your own token.
- The most detail, organizations, or full control: lowlighter/metrics, run as a GitHub Action.
At a glance
| Card | Shows | Install | Hosting |
|---|---|---|---|
| GitShine README card | Last 12 months' contribution graph, all-time total, longest and current streak, stars, top languages | One Markdown line | Hosted, no token |
| github-readme-stats | Stars, commits, PRs, issues, rank; top languages card | One Markdown line | Public instance is best-effort; self-host or Action recommended |
| github-readme-streak-stats | Total contributions, current and longest streak | One Markdown line | Self-hosting recommended; Action option |
| github-profile-trophy | Trophies for stars, commits, followers and more | One Markdown line | Public service; self-host or Action to reduce load |
| github-readme-activity-graph | Line graph of the last 31 days (up to 90) | One Markdown line | Public instance |
| lowlighter/metrics | 47 plugins: calendars, languages, activity and more | GitHub Action (about 10 minutes) | Runs in your own repository |
GitShine README card
[](https://gitshine.com/stats/USERNAME)An animated card with your last twelve months of contributions as a graph,
your all-time total, longest and current streak, stars earned and top
languages. It refreshes every hour. Add ?theme=dark, ?theme=light or
?theme=night to fix the colours (by default it follows the viewer's light
or dark mode), or ?layout=compact for a smaller streak card.
There's no token to create and nothing to deploy. The trade-off: it reads public data, so private work only counts if you've turned on "Include private contributions on my profile" in your GitHub settings, and it doesn't support organizations. The card builder shows a live preview with your username.
github-readme-stats
The best-known card, with many themes and options. Its README says the public instance "is best-effort and can be unreliable due to rate limits and traffic spikes", and recommends self-hosting on Vercel or generating the card with a GitHub Action. Self-hosting with your own token is also how it counts private repositories.
Pick it if you want its rank badge or its wide choice of themes and you're happy to run your own copy.
github-readme-streak-stats
Total contributions, current streak and longest streak, nothing else. The project recommends self-hosting for reliability and offers a GitHub Action that writes a static SVG into your profile repository, with an optional token for private contributions.
github-profile-trophy
Trophies ranked by stars, commits, followers, pull requests and more. It's a free public service; the maintainer asks heavy users to self-host or use the provided Action to reduce server load.
github-readme-activity-graph
A line graph of your daily contributions over the last 31 days, adjustable up to 90. Good for showing recent momentum rather than a whole year.
lowlighter/metrics
The most complete option: 47 plugins, from isometric commit calendars to language activity, for users, organizations and repositories. You set it up as a GitHub Action in your profile repository, which takes longer but means nothing depends on someone else's server.
Which one should you use?
If you want a card working in under a minute, paste a one-line card and check it in a private window. If it ever shows a broken image, the service is overloaded, and moving to a self-hosted copy or a GitHub Action fixes it for good. Want the graph, streaks and languages in one image? Try GitShine's card with your username, or see your full stats first.