> ⚠️ **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.

```
[](https://github.com/ryo-ma/github-profile-trophy)
```



## Use theme

Add optional parameter of the theme.

```
[](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://<your-app>.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)