Create beautiful text patterns on your GitHub contribution graph!
A Python GUI application that automates GitHub commits to draw text patterns (like "HELLO", "2026", or your name) on your GitHub contribution graph using backdated commits.
🤖 Note: This project was built with AI. While it is a fun tool for artistic expression, AI-generated code may contain mistakes. If you find any bugs or have improvements, contributions are welcome—feel free to open a Pull Request!
- 🎯 Text-to-Pattern: Type any text and see it previewed on the contribution grid
- 📊 Real-time Preview: Visual preview showing exactly how your pattern will look
- 💪 Intensity Control: Adjust commits per pixel (1-10) for darker green squares
- ⚡ Character Validation: Automatically validates text length (max 8-9 characters)
- 📈 Progress Tracking: Real-time logs and progress bar
- 🎨 Modern Dark UI: Beautiful GitHub-themed interface
- 🔒 No Login Required: Uses your existing Git credentials
┌─────────────────────────────────────────────┐
│ 🎨 Hacking GitHub Contribution Graph │
├─────────────────────────────────────────────┤
│ Repository URL: │
│ https://github.com/AmiXDme/Hacking-GitHub-Contribution-Graph.git │
│ │
│ Text to Draw (Max 8 characters): │
│ HELLO │
│ ✓ 5 chars | 120 commits | 29 weeks │
│ │
│ Commit Intensity: ▓▓▓░░░░░░░ 3 │
│ │
│ ┌─── Pattern Preview ───────────────────┐ │
│ │ ██ ██ ██ ██ ██ ██ ███ │ │
│ │ ██ ██ ██ ██ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ ██ ██ ██ ██ │ │
│ │ ███ ██ ██ ██ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ██ ██ ██ ██ ██ │ │
│ │ ██ ██ ██ ███ ███ ███ ███ │ │
│ └───────────────────────────────────────┘ │
│ │
│ [🚀 Generate Pattern] [⏹ Stop] │
│ Progress: ████████░░░░░░░░░░ 45% │
│ │
│ ┌─── Logs ────────────────────────────┐ │
│ │ 🎨 Creating pattern: 'HELLO' │ │
│ │ [45/120] 'L' at Week 15, Day 3 │ │
│ └────────────────────────────────────┘ │
└─────────────────────────────────────────────┘
- Python 3.11+ installed
- uv package manager (Install uv)
- Git configured with credentials
- A Private GitHub Repository
-
Clone or Download this project
-
Create virtual environment:
uv venv
-
Install dependencies:
.venv\Scripts\activate uv pip install gitpython
Windows:
run.batOr manually:
.venv\Scripts\activate
python main.py- Create a NEW PRIVATE repository on GitHub
- Copy the repository URL (e.g.,
https://github.com/username/my-art.git)
⚠️ Important: Use a NEW, EMPTY private repository. Don't use existing projects!
- Launch the application (
run.bat) - Paste Repository URL in the first field
- Type your text (e.g., "HELLO", "2026", "LOVE")
- Maximum 8-9 characters (GitHub graph is 53 weeks wide)
- Supports A-Z, 0-9, and some symbols (!, ?, +, -, .)
- Adjust Intensity slider (1-10 commits per pixel)
- 1 = Light green
- 5-7 = Medium green
- 10 = Dark green
- Preview automatically shows your pattern
- Click "Generate Pattern"
- Watch the progress in real-time
- Wait for completion (can take a few minutes depending on text length)
- Go to your GitHub profile
- Click "Contribution settings" (above the graph)
- Enable "Private contributions" checkbox
- Refresh the page - your pattern should appear!
⏰ Note: GitHub may take 5-10 minutes to update the contribution graph.
- Text Conversion: Converts each character to a 5×7 pixel pattern using a custom font
- Date Calculation: Maps each pixel to a specific date (week, day) one year ago
- Backdated Commits: Uses Git's
--dateflag to create commits at calculated dates - Intensity Multiplier: Creates multiple commits per pixel for darker colors
- GitHub Graph: 7 rows (Sun-Sat) × 53 columns (weeks)
- Character Size: 5 pixels wide × 7 pixels tall
- Spacing: 1 week between characters
- Maximum Text: 8-9 characters (depends on character width)
C:\Users\YourName\github-contribution-repo\
├── .git\ # Git repository
└── data.json # Modified with each commit
Use the slider in the GUI (1-10):
- 1: Minimal green (1 commit/pixel)
- 3-5: Medium green (good balance)
- 10: Maximum green (10 commits/pixel)
- Letters: A-Z (automatically converted to uppercase)
- Numbers: 0-9
- Symbols: Space, !, ?, +, -, .
- Future: Add custom characters in
fonts.py
✅ Must use a PRIVATE repository
✅ Enable "Private contributions" in profile settings
✅ Git credentials must be configured (git config user.name and user.email)
✅ Wait 5-10 minutes for GitHub to update the graph
This project is for:
- ✅ Learning how Git metadata works
- ✅ Artistic expression and fun experiments
- ✅ Educational purposes
NOT for:
- ❌ Deceiving employers or recruiters
- ❌ Faking open-source contributions
- ❌ Misrepresenting your actual coding activity
💡 Tip: Senior developers can easily spot these patterns. Use for art, not deception!
Hacking GitHub Contribution Graph/
├── main.py # GUI application
├── fonts.py # 5×7 pixel font definitions
├── pattern_calculator.py # Text-to-grid mapping
├── git_bot.py # Git operations & backdating
├── requirements.txt # Python dependencies
├── run.bat # Windows run script
├── .venv/ # Virtual environment
├── .gitignore # Git ignore rules
└── README.md # This file
Edit fonts.py and add your character:
FONTS = {
'❤': [
[0, 1, 0, 1, 0],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[1, 1, 1, 1, 1],
[0, 1, 1, 1, 0],
[0, 0, 1, 0, 0],
[0, 0, 0, 0, 0]
]
}# Reinstall dependencies
.venv\Scripts\activate
uv pip install gitpython# Configure Git credentials
git config --global user.name "Your Name"
git config --global user.email "you@example.com"- Enable "Private contributions" in GitHub settings
- Wait 10-15 minutes
- Hard refresh the page (Ctrl+F5)
- Check the repository has commits (
git log)
- Maximum 8-9 characters
- Use shorter text or abbreviations
- Remove spaces to fit more letters
"HELLO" → 5 chars, ~120 commits, 29 weeks
"2026" → 4 chars, ~96 commits, 23 weeks
"CODE" → 4 chars, ~96 commits, 23 weeks
"AI" → 2 chars, ~48 commits, 11 weeks
"LOVE ❤" → 6 chars, ~144 commits, 35 weeks
Educational Use Only
This project is provided for learning and artistic purposes. Use responsibly.
Created with:
- Python - Programming language
- Tkinter - GUI framework
- GitPython - Git operations
- uv - Fast Python package installer
Happy Contribution Crafting! 🎨✨
⭐ Star this repo if you created something cool!