How to Add a 3D Contribution Graph to Your GitHub Profile README
The 3D contribution graph renders your GitHub commit history as an isometric 3D bar chart — each day's contribution count becomes a pillar rising from the grid. It is one of the most visually striking widgets available for GitHub profiles, immediately grabbing attention with its depth and dimensionality. This guide covers the yoshi389111/github-profile-3d-contrib project, which uses a GitHub Actions workflow to generate the image daily and commit it to your repository.
Quick Setup Steps
- 1
Step 1: Create .github/workflows/profile-3d.yml with the yoshi389111/github-profile-3d-contrib Action.
- 2
Step 2: Add permissions: contents: write to the workflow and include GITHUB_TOKEN and USERNAME env variables.
- 3
Step 3: Add a git commit step to push the generated SVG files back to your repository.
- 4
Step 4: Run the workflow manually from Actions → GitHub-Profile-3D-Contrib → Run workflow.
- 5
Step 5: Check the profile-3d-contrib/ directory for generated files, then add your chosen SVG path to README.md.
What Is the 3D Contribution Graph?
The github-profile-3d-contrib project generates an isometric SVG visualization of your GitHub contribution calendar. Instead of the flat green-square grid on your profile page, it renders the same data as a 3D landscape where taller columns represent days with more contributions. The result is visually dramatic, especially for developers with high-activity periods — a sprint of daily commits creates a skyline of tall bars.
The image is generated by a GitHub Action that runs daily, commits the SVG to your repository's profile-3d-contrib directory, and can be referenced in your README with a standard image tag. Multiple themes are supported including both day and night variants.
How to Set Up the 3D Contribution Graph
Create .github/workflows/profile-3d.yml in your GitHub profile repository:
name: GitHub-Profile-3D-Contrib
on:
schedule:
- cron: '0 18 * * *'
workflow_dispatch:
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: yoshi389111/github-profile-3d-contrib@0.7.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
USERNAME: ${{ github.repository_owner }}
- run: |
git config user.email action@github.com
git config user.name GitHub Action
git add -A
git commit -m 'generate 3d contribution'
git push
After the first run, add to your README:

The Action generates multiple theme files — check the profile-3d-contrib directory after the first run to see all available options.
Customizing the 3D Contribution Graph
The Action generates multiple SVG variants in different themes automatically. After the first successful run, check your repository's profile-3d-contrib/ directory for all generated files. Common theme files include:
profile-night-rainbow.svg— dark background with rainbow-colored barsprofile-night-green.svg— dark background with GitHub green barsprofile-south-season-animate.svg— animated version with seasonal coloringprofile-gitblock.svg— block-style 3D representationprofile-night-view.svg— dark with blue/purple accents
Use the animated variants sparingly — they add visual interest but significantly increase file size, which can slow profile load times. The non-animated night-rainbow version is the most commonly used choice.
Troubleshooting the 3D Contribution Graph
If the workflow fails with a permissions error, ensure the workflow YAML includes permissions: contents: write. This permission allows the Action to commit the generated SVG files back to your repository. Without it, the commit step will fail with a 403 error.
If the graph generates but appears mostly flat (few tall bars), this reflects your actual contribution history for the past year. The visual is more impressive with consistent daily or near-daily contribution activity — sparse contribution periods render as flat sections.
If the image path in your README shows as broken, verify the exact file name matches what the Action created. Run the workflow manually from the Actions tab, then check the profile-3d-contrib/ directory in your repository to see the exact filenames generated.
Frequently Asked Questions
How do I add a 3D contribution graph to my GitHub README?
Create a GitHub Actions workflow using yoshi389111/github-profile-3d-contrib@0.7.1 with GITHUB_TOKEN and USERNAME environment variables, plus a git commit step to save the generated SVGs. After the first run, reference the SVG file in your README as a relative image path from your repository root.
Is the 3D GitHub contribution graph free?
Yes. The yoshi389111/github-profile-3d-contrib project is open source under MIT license. It uses GitHub Actions compute which is free for public repositories. The generated SVG files are stored directly in your repository with no external service dependency.
Why is my 3D contribution graph not generating?
Check that your workflow file includes permissions: contents: write. Also verify the GITHUB_TOKEN and USERNAME environment variables are correctly referencing GitHub's built-in secrets. Run the workflow manually from the Actions tab and examine the step logs for specific errors.
Does the 3D graph include private repository contributions?
By default, the 3D graph reads from your public GitHub contribution data. To include private repository contributions, you need to provide a personal access token with repo scope as a custom GITHUB_TOKEN rather than using the default Actions token, which only has read access to public data.
From Our Blog
- Complete Guide to GitHub Badges for Your README
Learn how to add shields.io badges, GitHub stats cards, and tool badges to your GitHub profile README. Includes ready-to-use code for 50+ popular technologies.
- Best GitHub README Widgets and Tools: The Complete 2026 List
A curated list of the best GitHub profile README widgets — from snake animations to Spotify players, stats cards to 3D contribution graphs. Includes setup instructions for each.
- How to Add GitHub Stats Cards to Your README (2026 Guide)
Step-by-step guide to adding GitHub stats cards, language cards, streak stats, and WakaTime cards to your GitHub profile README using github-readme-stats.
Generate Your GitHub Profile README
Generate a GitHub profile README featuring 3D Contribution Graph with AI
Try It Free — No Sign UpMore Widget Guides
How to Add Spotify Now Playing
Step-by-step guide to adding Spotify Now Playing to your GitHub README
How to Add WakaTime Coding Stats
Step-by-step guide to adding WakaTime Coding Stats to your GitHub README
How to Add Snake Contribution Animation
Step-by-step guide to adding Snake Contribution Animation to your GitHub README
How to Add Profile Views Counter
Step-by-step guide to adding Profile Views Counter to your GitHub README
How to Add Typing SVG Animation
Step-by-step guide to adding Typing SVG Animation to your GitHub README
How to Add GitHub Streak Stats
Step-by-step guide to adding GitHub Streak Stats to your GitHub README