GitHub Profile Trophy

GitHub Profile Trophy

πŸ† Add dynamically generated GitHub Stat Trophies on your README

[![stargazers](https://img.shields.io/github/stars/ryo-ma/github-profile-trophy)](https://github.com/ryo-ma/github-profile-trophy/stargazers) [![forks](https://img.shields.io/github/forks/ryo-ma/github-profile-trophy)](https://github.com/ryo-ma/github-profile-trophy/network/members) [![issues](https://img.shields.io/github/issues/ryo-ma/github-profile-trophy)](https://github.com/ryo-ma/github-profile-trophy/issues) [![license](https://img.shields.io/github/license/ryo-ma/github-profile-trophy)](https://github.com/ryo-ma/github-profile-trophy/blob/master/LICENSE) [![share](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2Fryo-ma%2Fgithub-profile-trophy)](https://twitter.com/intent/tweet?text=Add%20dynamically%20generated%20GitHub%20Trophy%20on%20your%20readme%0D%0A&url=https%3A%2F%2Fgithub.com%2Fryo-ma%2Fgithub-profile-trophy)

You can use this service for free. I'm looking for sponsors to help us keep up with this service❀️

Sponsor
> ⚠️ **Notice from the Project Owner** > > Hello everyone,\ > I am the owner of this project. > > Currently, due to the increase in users and traffic, the cost of maintaining > this service has become quite high, and it is becoming financially difficult > to sustain.\ > As costs continue to rise, there is a possibility that the service may have to > be discontinued.\ > We are now at a stage where monetization and financial support are essential. > > Your support in the following ways would be greatly appreciated: > > 1. Financial support: [GitHub Sponsors](https://github.com/sponsors/ryo-ma) > 2. Reducing server load through self-hosting (by forking on GitHub and > deploying to Vercel) > 3. Share your github-profile-trophy URL deployed to Vercel for load balancing > (Send email: saka_ro@yahoo.co.jp or Pull Request) # Load balancing endpoints These are endpoints provided by volunteers. Please use these in moderation. - [https://trophygithubreadmelang.cybee.dpdns.org/](https://trophygithubreadmelang.cybee.dpdns.org/) by [Cyberbee-pro](https://github.com/Cyberbee-pro) - [https://github-profile-trophy-liard-delta.vercel.app](https://github-profile-trophy-liard-delta.vercel.app/) by [Adwitya](https://github.com/Adwitya) - [https://github-profile-trophy-fork-two.vercel.app](https://github-profile-trophy-fork-two.vercel.app) by [hesreallyhim](https://github.com/hesreallyhim) - [https://github-profile-trophy-winning.vercel.app](https://github-profile-trophy-winning.vercel.app) by [hongbo-wei](https://github.com/hongbo-wei) - [https://github-profile-trophy-kannan.vercel.app](https://github-profile-trophy-kannan.vercel.app) by [kann4n](https://github.com/kann4n) - [https://trophy.ryglcloud.net](https://trophy.ryglcloud.net) by [PracticalRyan](https://github.com/PracticalRyan) - [https://github-profile-trophy-tawny.vercel.app](https://github-profile-trophy-tawny.vercel.app) by [vijaypurohit322](https://github.com/vijaypurohit322) - [https://github-profile-repo.vercel.app](https://github-profile-repo.vercel.app/)) by [HackyCoder0951](https://github.com/hackycoder0951) - [https://gh-trophy.cdnsoft.net](https://gh-trophy.cdnsoft.net) by [cromatikap](https://github.com/cromatikap) - [https://trophygh.kolioaris.xyz](https://trophygh.kolioaris.xyz) by [kolioaris](https://github.com/kolioaris) - [https://github-profile-trophy-orcin-eta.vercel.app](https://github-profile-trophy-orcin-eta.vercel.app/) by [manupawick](https://github.com/manupawickramasinghe) - [https://github-profile-trophy-reiyua-mirror.vercel.app](https://github-profile-trophy-reiyua-mirror.vercel.app) by [reiyua](https://github.com/reiyua) - [https://github-profile-trophy-sigma-one.vercel.app](https://github-profile-trophy-sigma-one.vercel.app/)) by [namankoolwal](https://github.com/namankoolwal) - [https://trophy.benkou.dev/](https://trophy.benkou.dev/) by [Ben](https://github.com/0x5b62656e5d) - [https://github-trophies.devomb.com/](https://github-trophies.devomb.com/) by [DevomB](https://github.com/DevomB/Github-Trophies) - [https://github-profile-trophy-unserori.vercel.app/](https://github-profile-trophy-unserori.vercel.app/) by [unSerori](https://github.com/unSerori) # Quick Start Add the following code to your readme. When pasting the code into your profile's readme, change the `?username=` value to your GitHub's username. ``` [![trophy](https://github-profile-trophy.vercel.app/?username=ryo-ma)](https://github.com/ryo-ma/github-profile-trophy) ```

## Use theme Add optional parameter of the theme. ``` [![trophy](https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=onedark)](https://github.com/ryo-ma/github-profile-trophy) ```

**[More detail](#apply-theme)** # About Rank Ranks are `SSS` `SS` `S` `AAA` `AA` `A` `B` `C` `UNKNOWN` `SECRET`. | Rank | Description | | ---------- | ------------------------------------------------------------------------------------------ | | SSS, SS, S | You are at a hard to reach rank. You can brag. | | AAA, AA, A | You will reach this rank if you do your best. Let's aim here first. | | B, C | You are currently making good progress. Let's aim a bit higher. | | UNKNOWN | You have not taken action yet. Let's act first. | | SECRET | This rank is very rare. The trophy will not be displayed until certain conditions are met. | **NOTE: The `UNKNOWN` rank is denoted by `?`** ## Secret Rank The acquisition condition is secret, but you can see this.

There are only a few secret trophies. Therefore, if you come up with interesting conditions, I will consider adding a trophy. I am waiting for contributions. # About Display details

1. Title name of aggregation target. 2. Current rank. 3. Title according to rank. 4. Target aggregation result. 5. Rank progress bar. # Optional Request Parameters - [title](#filter-by-titles) - [rank](#filter-by-ranks) - [column](#specify-the-maximum-row--column-size) - [row](#specify-the-maximum-row--column-size) - [theme](#apply-theme) - [margin-w](#margin-width) - [margin-h](#margin-height) - [no-bg](#transparent-background) - [no-frame](#hide-frames) ## Filter by titles You can filter the display by specifying the titles of trophy. ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&title=Followers ```

If you want to specify multiple titles. ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&title=Stars,Followers ```

You can also exclude the trophies you don't want to display. ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&title=-Stars,-Followers ``` ## Filter by ranks You can filter the display by specifying the ranks.\ `Available values: SECRET SSS SS S AAA AA A B C` ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&rank=S ```

If you want to specify multiple ranks. ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&rank=S,AAA ```

You can also exclude ranks. ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&rank=-C,-B ``` **NOTE: Since `UNKNOWN` is denoted by `?`, in order to include or exclude it you will have to use `rank=?` and `rank=-?` respectively** ## Specify the maximum row & column size You can specify the maximum row and column size.\ Trophy will be hidden if it exceeds the range of both row and column. `Available value: number type`\ `Default: column=6 row=3` Restrict only row ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&row=2 ``` Restrict only column ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&column=2 ``` Restrict row & column ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&row=2&column=3 ```

Adaptive column ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&column=-1 ``` You can set `column` to `-1` to adapt the width to the number of trophies, the parameter `row` will be ignored. ## Apply theme Available themes. | theme | | --------------------------- | | [flat](#flat) | | [onedark](#onedark) | | [gruvbox](#gruvbox) | | [dracula](#dracula) | | [monokai](#monokai) | | [chalk](#chalk) | | [nord](#nord) | | [alduin](#alduin) | | [darkhub](#darkhub) | | [juicyfresh](#juicyfresh) | | [buddhism](#buddhism) | | [oldie](#oldie) | | [radical](#radical) | | [onestar](#onestar) | | [discord](#discord) | | [algolia](#algolia) | | [gitdimmed](#gitdimmed) | | [tokyonight](#tokyonight) | | [matrix](#matrix) | | [apprentice](#apprentice) | | [dark_dimmed](#dark_dimmed) | | [dark_lover](#dark_lover) | | [kimbie_dark](#kimbie_dark) | | [aura](#aura) | ### flat ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=flat ```

### onedark ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=onedark ```

### gruvbox ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=gruvbox ```

### dracula ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=dracula ```

### monokai ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=monokai ```

### chalk ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=chalk ```

### nord ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=nord ```

### alduin ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=alduin ```

### darkhub ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=darkhub ```

### juicyfresh ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=juicyfresh ```

### buddhism ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=buddhism ```

### oldie ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=oldie ```

### radical ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=radical ```

### onestar ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=onestar ```

### discord ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=discord ```

### algolia ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=algolia ```

### gitdimmed ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=gitdimmed ```

### tokyonight ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=tokyonight ```

### matrix ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=matrix ```

### apprentice ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=apprentice ```

### dark_dimmed ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=dark_dimmed ```

### dark_lover ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=dark_lover ```

### kimbie_dark ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=kimbie_dark ```

### aura ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&theme=aura ```

## Margin Width You can put a margin in the width between trophies.\ `Available value: number type`\ `Default: margin-w=0` ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&margin-w=15 ```

## Margin Height You can put a margin in the height between trophies.\ `Available value: number type`\ `Default: margin-h=0` ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&margin-h=15 ```

## Example layout ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&column=3&margin-w=15&margin-h=15 ```

## Transparent background You can turn the background transparent.\ `Available value: boolean type (true or false)`\ `Default: no-bg=false` ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&no-bg=true ```

## Hide frames You can hide the frames around the trophies.\ `Available value: boolean type (true or false)`\ `Default: no-frame=false` ``` https://github-profile-trophy.vercel.app/?username=ryo-ma&no-frame=true ```

## Generate an svg file localy Using the render_svg.ts script you can generate your trophys as an svg file given your username, (Enviroment Vars: See [env-example](env-example)). Usage: ```bash deno run --allow-net --allow-env --allow-read --allow-write ./render_svg.ts USERNAME OUTPUT_DIR THEME ``` ## Generate an svg inside Github CI (Workflow) Using the provided github action you can easly generate the trophy inside an github workflow. This eliminates the needs of an online service running but you have to manualy update rerun the action to update the file. Usage: ```yaml - name: Generate trophy uses: Erik-Donath/github-profile-trophy@feature/generate-svg with: username: your-username output_path: trophy.svg token: ${{ secrets.GITHUB_TOKEN }} ``` ## Self-hosting on Vercel By self-hosting you avoid rate-limits, instances getting paused and you bypass the #439 issue. 1. For people who do not have this repo forked, you need to do that before you can deploy anything. 2. Make an account, connect your GitHub account to Vercel, and import your repo. 3. Go back to GitHub, generate a token, and copy it. 4. Set your token scopes to `read:user` + `public_repo` (only use `repo` if you want private contributions counted). 5. On Vercel's configure screen, add two environment variables and paste the token as the value of each β€” you can use the same token for both: ``` GITHUB_TOKEN1=your_token GITHUB_TOKEN2=your_token ``` 6. After that you can deploy it. 7. Set Vercel Authentication -> Only Preview Deployments, or your card shows blank. 8. You get a domain which you can use/test, it looks something like this: ``` https://.vercel.app/?username=USERNAME ``` # Contribution Guide Check [CONTRIBUTING.md](./CONTRIBUTING.md) for more details. # License This product is licensed under the [MIT License](https://github.com/ryo-ma/github-profile-trophy/blob/master/LICENSE). # πŸ™ Sponsors Thank you so much to all the amazing sponsors who support this project! Your contributions help keep development going and make this work possible. ## πŸ’– Monthly Sponsors - [@Leay15](https://github.com/Leay15) - $10 / month - [@hesreallyhim](https://github.com/hesreallyhim) - $10 / month - [@pmsosa](https://github.com/pmsosa) β€” $10 / month - [@chenfeng-huang](https://github.com/chenfeng-huang) β€” $10 / month - [@holly-hacker](https://github.com/holly-hacker) β€” $2 / month - [@skillerious](https://github.com/skillerious) β€” $2 / month (since Aug 17, 2024) - [@LudovicGardy](https://github.com/LudovicGardy) β€” $10 / month (since Aug 15, 2024) - [@alexcastrodev](https://github.com/alexcastrodev) β€” $10 / month (since Oct 13, 2023, previously $50 / month) - [@great-work-told-is](https://github.com/great-work-told-is) β€” $10 / month (since Apr 12, 2023) - [@Ilithy](https://github.com/Ilithy) β€” $5 / month (since Jul 21, 2022) - [@weakish](https://github.com/weakish) β€” $2 / month (since Jan 22, 2022) - [@Kazuhito00](https://github.com/Kazuhito00) β€” $2 / month (since Jan 19, 2022) - [@KATO-Hiro](https://github.com/KATO-Hiro) β€” $2 / month (since Jan 5, 2022) - [@batazor](https://github.com/batazor) β€” $2 / month (since Oct 28, 2021) - [@port19x](https://github.com/port19x) β€” $2 / month (since Jan 27, 2022) ## 🎁 One-Time Sponsors - [@pronoym99](https://github.com/pronoym99) - $20 (Feb 8, 2026) - [@hesreallyhim](https://github.com/hesreallyhim) - $100 (Jan 11, 2026) - [@Seo-4d696b75](https://github.com/Seo-4d696b75) β€” $10 (Jan 4, 2026) - [@massif-01](https://github.com/massif-01) β€” $5 (December 17, 2025) - [@tapegram](https://github.com/tapegram) β€” $20 (December 6, 2025) - [@WilliamCorotan](https://github.com/WilliamCorotan) β€” $5 (November 5, 2025) - [@arnabnandy7](https://github.com/arnabnandy7) β€” $10 (Oct 3, 2025) - [@JoqarSabon](https://github.com/JoqarSabon) β€” $5 (May 24, 2024) - [@syaghoubi00](https://github.com/syaghoubi00) β€” $5 (Jan 28, 2024) - [@pylapp](https://github.com/pylapp) β€” $20 (Jan 15, 2024) - [@Dobefu](https://github.com/Dobefu) β€” $10 (Dec 22, 2024) - [@michele-lorenzoni](https://github.com/michele-lorenzoni) β€” $10 (Nov 26, 2024) - [@skillerious](https://github.com/skillerious) β€” $10 (Aug 17, 2024)