Pretty Banner is a Next.js-based service for generating beautiful, customizable SVG banners with GitHub profile statistics. It is designed for use in GitHub READMEs, personal websites, and dashboards, providing visually appealing, themeable, and informative profile cards.
- Fetches and visualizes GitHub user statistics (repos, stars, followers, languages, etc.)
- Generates SVG banners with multiple themes and custom backgrounds
- Supports custom color schemes and user-defined themes
- Optionally displays top programming languages
- Supports hiding the avatar and adding a custom "about me" text
- Fast, stateless API endpoint for easy integration
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=anime&hide_avatar=true
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=anime&langs=true
MORE...
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=ancient
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=ancient&langs=true
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=simple
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=simple&langs=true
https://pretty-profile.vercel.app/api/github-stats?username=Nighty3098&theme=custom&fg=%23000000&bg=%236a55e8
GET /api/github-stats
| Name | Type | Default | Description |
|---|---|---|---|
| username | string | โ | (Required) GitHub username |
| theme | string | city | Theme name (see below for available themes) |
| fg | string | Custom foreground (text) color (hex or CSS) | |
| bg | string | Custom background color (hex or CSS) | |
| show | string | Comma-separated list of fields to show (e.g. stars,followers) |
|
| about_me | string | Custom text to display at the bottom of the banner | |
| hide_avatar | boolean | false | Hide the user's avatar ("true" or "false") |
| langs | boolean | false | Show top programming languages ("true" or "false") |
/api/github-stats?username=Nighty3098&theme=night&show=stars,followers,commits&about_me=Open%20Source%20Enthusiast&hide_avatar=true&langs=true
- city
- forest
- japan
- night
- waterfall
- ancient
- solarized
- mac_bigsur
- mac_bigsur_dark
- white
- simple
- everforest_sea
- gradient
- anime
Each theme has its own background image and color palette. You can also use custom colors via fg and bg parameters.
- Custom Colors: Use
fgandbgto override text and background colors. - Custom Fields: Use
showto select which stats to display. - Languages: Set
langs=trueto show a bar of top languages. - Avatar: Set
hide_avatar=trueto hide the profile picture. - About Me: Add a custom message with
about_me.
- Clone the repository:
git clone https://github.com/Nighty3098/pretty_banner.git cd pretty_banner - Install dependencies:
yarn install # or npm install - Create a
.envfile and add your GitHub API tokens asGITHUB_TOKEN_PT1,GITHUB_TOKEN_PT2, ... - Run the development server:
yarn dev # or npm run dev - Open http://localhost:3000 and use the API endpoint as described above.
devโ Start Next.js in development modebuildโ Build the project for productionstartโ Start the production serverlintโ Run ESLint with auto-fixformatโ Format code with Prettier
- TypeScript, React, Next.js
- Prettier and ESLint are configured (see
.prettierrc.yamlandeslint.config.mjs) - Main font: Iosevka Nerd Font
Please report bugs and suggestions via GitHub Issues.
This project is for personal use and demonstration. See repository for details.$$