### Introduction
GitHub's contribution graph is one of the most iconic visual features for developers worldwide. It displays your activity over a 52 to 53-week rolling window, rendered as a matrix of 7 rows (Sunday to Saturday).
In this article, we'll explore how GitHub structures dates, handles leap years, and maps commit frequency into 5 discrete color intensity levels.
---
The 53-Week Matrix Structure
A standard calendar year has 365 days (366 in a leap year). Divided by 7 days per week, that gives 52 full weeks plus 1 or 2 extra days. Because week 1 might start mid-week depending on January 1st, GitHub renders 53 columns of 7 cells (a total of 371 grid slots).
- Rows (0 to 6): Represent Sunday (0), Monday (1), Tuesday (2), Wednesday (3), Thursday (4), Friday (5), and Saturday (6).
- Columns (0 to 52): Represent Sunday-aligned week numbers from the beginning of the target year.
---
Understanding Intensity Levels (0 to 4)
GitHub dynamically normalizes your commit counts into 5 color levels based on your maximum daily commits:
1. Level 0 (No activity): 0 commits (Gray or dark background). 2. Level 1 (Low activity): Top 25th percentile of daily activity. 3. Level 2 (Medium activity): 25th to 50th percentile. 4. Level 3 (High activity): 50th to 75th percentile. 5. Level 4 (Peak activity): Top 25% peak commit days.
---
Designing Artwork with Pixel Fonts
By treating the 53-week grid as a 53x7 pixel canvas, developers can render text using a binary 5x7 pixel font matrix. Each letter occupies a 5-column width by 7-row height matrix, separated by 1 column of empty padding.
Tools like GitLegacy automate this calculation, converting user input into exact backdated dates with GIT_AUTHOR_DATE environment variables!
---
Conclusion
Whether you want to visualize a streak or craft contribution art, understanding the 53x7 matrix is the key to designing your GitHub legacy.