How to Pin More Than 6 Repositories Using GitHub Readme Stats Extra Pins
GitHub Readme Stats bypasses GitHub's native six-repository limit by providing an api/pin endpoint that generates SVG repo cards you can embed directly in your README, allowing unlimited pinned repositories.
GitHub natively restricts profile pins to six repositories, which limits developers who maintain multiple significant projects. The anuraghazra/github-readme-stats repository solves this constraint through its extra pins feature, which renders repository cards on-demand via a dedicated API endpoint.
How the Extra Pins API Works
The extra pins feature operates through the dedicated endpoint in api/pin.js. When you request a repo card, the system fetches repository metadata via the fetchRepo function, then passes this data to renderRepoCard in src/cards/repo.js to generate the SVG visualization.
This architecture decouples the rendering from GitHub's native pin storage, allowing you to embed as many cards as your README can accommodate. The cards support the same theming system as other GitHub Readme Stats features, utilizing shared utilities in src/common/* for consistent color schemes and layout calculations.
Pinning More Than 6 Repositories
Basic Syntax
To pin additional repositories beyond the six native slots, construct a markdown image link pointing to the api/pin endpoint with your username and repo parameters:
[](https://github.com/anuraghazra/github-readme-stats)
Customization Options
Each repo card accepts the standard customization parameters defined in the common options. You can control owner visibility, description length, and visual styling:
show_owner: Boolean to display the repository owner's usernamedescription_lines_count: Number of lines to show for the description (default 1)- Theme parameters:
theme,title_color,icon_color,text_color,bg_color
Example with customization:
[](https://github.com/anuraghazra/github-readme-stats)
Displaying Multiple Repositories
To pin more than six repositories, simply stack multiple markdown image links. For horizontal alignment, wrap the cards in HTML <a> and <img> tags with alignment attributes:
<a href="https://github.com/user/repo-one">
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=user&repo=repo-one&show_owner=true" />
</a>
<a href="https://github.com/user/repo-two">
<img align="center" src="https://github-readme-stats.vercel.app/api/pin/?username=user&repo=repo-two" />
</a>
This method renders each repository as an independent SVG card, effectively bypassing GitHub's six-repository limitation while maintaining clickable links to each project.
Summary
- GitHub's native profile pins are capped at six repositories, but GitHub Readme Stats removes this restriction through the
api/pinendpoint. - The feature uses
fetchRepoandrenderRepoCard(located inapi/pin.jsandsrc/cards/repo.js) to generate SVG cards on demand. - You can embed unlimited repository cards by adding multiple markdown image links to your README.
- Each card supports full customization via common options including themes, color schemes,
show_owner, anddescription_lines_count.
Frequently Asked Questions
Is there a hard limit to how many repositories I can pin using extra pins?
No, there is no enforced limit within GitHub Readme Stats itself. The api/pin endpoint generates cards dynamically, so you can theoretically embed dozens of repository cards. The only practical constraints are GitHub's README file size limits and visual layout considerations.
Does using extra pins affect my GitHub profile's native pinned repositories?
No, the extra pins feature operates independently of GitHub's native pinning system. Your six native profile pins remain unchanged and continue to display on your profile page. The extra pins render only within your README file as embedded SVG images, supplementing rather than replacing the native functionality.
Can I pin repositories from other users or organizations?
Yes, the api/pin endpoint accepts any valid GitHub username and repo combination. You can pin repositories you do not own by specifying the appropriate owner in the username parameter. This is particularly useful for showcasing dependencies, forks, or collaborative projects you contribute to.
Why are my extra pin cards not updating immediately?
GitHub Readme Stats implements caching to optimize performance and avoid hitting GitHub's API rate limits. The default cache duration is typically several hours. If you need immediate updates, you can bypass cache by adding a unique query parameter (like ?timestamp=123) to the URL, though frequent requests may trigger rate limiting.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →