README Generator

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. 1

    Step 1: Create .github/workflows/profile-3d.yml with the yoshi389111/github-profile-3d-contrib Action.

  2. 2

    Step 2: Add permissions: contents: write to the workflow and include GITHUB_TOKEN and USERNAME env variables.

  3. 3

    Step 3: Add a git commit step to push the generated SVG files back to your repository.

  4. 4

    Step 4: Run the workflow manually from Actions → GitHub-Profile-3D-Contrib → Run workflow.

  5. 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:

![3D Contribution Graph](profile-3d-contrib/profile-night-rainbow.svg)

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 bars
  • profile-night-green.svg — dark background with GitHub green bars
  • profile-south-season-animate.svg — animated version with seasonal coloring
  • profile-gitblock.svg — block-style 3D representation
  • profile-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

Generate Your GitHub Profile README

Generate a GitHub profile README featuring 3D Contribution Graph with AI

Try It Free — No Sign Up