July 10, 2026
From a 100 MB Error to Git LFS: What I Learned
Did You Know GitHub Has a 100 MB File Size Limit?
By Ameya Bhingarkar
1 min read
Did You Know GitHub Has a 100 MB File Size Limit?
Most developers don't realize that GitHub has a maximum file size limit of 100 MB for a single file. I didn't know about it either — until I encountered it myself.
Last week, I was trying to upload a ZIP file that was around 144 MB to a GitHub repository. I committed my changes locally and then ran git push to upload them to the remote repository.
Instead of a successful push, I was greeted with an error message:
"This exceeds GitHub's file size limit of 100.00 MB."
That's when I discovered that GitHub doesn't allow files larger than 100 MB to be pushed through normal Git operations.
My first thought was to compress the ZIP file even further using the Deflate compression method. Unfortunately, the file size still remained above the 100 MB limit.
After a bit of research, I came across Git LFS (Large File Storage).
What is Git LFS?
Git LFS (Large File Storage) is an extension for Git that replaces large files in your repository with lightweight pointer files, while storing the actual file contents separately on a Git LFS server.
It was originally developed by GitHub, Atlassian, and members of the open-source community to make versioning large files much more efficient.
Git LFS is commonly used for storing large assets such as ZIP archives, datasets, videos, design files, machine learning models, and other binary files that exceed GitHub's standard file size limit.
How to Use Git LFS
Using Git LFS is surprisingly simple.
1. Install and initialize Git LFS
git lfs installgit lfs installThis enables Git LFS on your machine.
2. Track the files you want Git LFS to manage
For example, since I wanted to upload ZIP files, I ran:
git lfs track "*.zip"git lfs track "*.zip"This command automatically configures Git LFS to manage all ZIP files in the repository by adding the appropriate rule to the .gitattributes file.
3. Add, commit, and push your files
git add .
git commit -m "Add large ZIP files using Git LFS"
git pushgit add .
git commit -m "Add large ZIP files using Git LFS"
git pushGit automatically uploads the tracked files as Git LFS objects while storing lightweight pointers in your Git repository.
Final Thoughts
It was a small issue, but I learned something new about GitHub that I hadn't encountered before. If you ever receive an error stating that your file exceeds GitHub's 100 MB limit, don't waste time trying to compress it endlessly.
Instead, use Git LFS. It's easy to set up, integrates seamlessly with Git, and is the recommended way to manage large files in your repositories.
Hopefully, this saves someone else the time I spent figuring it out!