Automatically push your accepted LeetCode solutions to GitHub!
A browser extension that seamlessly syncs your LeetCode accepted submissions to your GitHub repository, helping you build your coding portfolio effortlessly.
- 🔄 Automatic Sync - Push accepted solutions to GitHub instantly
- 🎛️ Toggle Control - Enable/disable auto-push with one click
- 📊 Activity Log - Track recent submissions in real-time
- 🔔 Desktop Notifications - Get notified on success or failure
- 📈 Performance Stats - Save runtime and memory statistics
- 🎯 Smart Detection - Push each solution only once
- 📁 Organized Structure - All solutions saved in
solution/folder - 🌐 Multi-language Support - C++, Java, Python, JavaScript, and more
- 🔒 Privacy-First - All data stored locally, no tracking
Firefox:
Chrome:
- Install from Chrome Web Store (Coming soon)
Firefox:
- Download or clone this repository
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click "Load Temporary Add-on"
- Select the
manifest.jsonfile
Chrome:
- Download or clone this repository
- Open Chrome and navigate to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked"
- Select the extension folder
- Click the extension icon in your browser toolbar
- Toggle Extension Status: Turn ON/OFF as needed
- GitHub Token: Generate a token with
repopermissions - Repository Path: Enter your repo in format
username/repository - Click "SAVE CONFIG"
- Start solving LeetCode problems!
- Go to LeetCode and solve a problem
- Submit your solution
- When you see "Accepted" ✅, the extension automatically:
- Extracts your code
- Detects the programming language
- Captures runtime & memory stats
- Pushes to your GitHub repository
- Check the Activity Log in the popup for status
- View your solutions in the
solution/folder on GitHub!
Your GitHub Repo Structure:
your-repo/
├── solution/
│ ├── two-sum.cpp
│ ├── add-two-numbers.py
│ ├── longest-substring.java
│ └── ...
└── README.md
This extension respects your privacy:
- ✅ All configuration stored locally in your browser
- ✅ No data collection or tracking
- ✅ No external servers (except GitHub API)
- ✅ Your GitHub token is stored securely
- ✅ Open source - inspect the code yourself!
See PRIVACY.md for full details.
- Manifest V3 - Latest extension API
- Pure JavaScript - No frameworks, lightweight
- Chrome Storage API - Local data persistence
- GitHub API - Direct repository integration
- Monaco Editor Detection - Accurate code extraction
- Firefox 112+ or Chrome 88+
- GitHub Personal Access Token (with
reposcope) - LeetCode account
Contributions are welcome! Here's how you can help:
- Fork this repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repository
git clone https://github.com/nkdkhtl/leetcode-to-github.git
cd leetcode-to-github
# Make your changes...
# Build the extension
chmod +x build.sh
./build.shSee the full changelog in CHANGELOG.md
v1.0.0 - Initial Release
- ✨ Auto-push accepted solutions
- 🎛️ ON/OFF toggle
- 📊 Activity log
- 🔔 Desktop notifications
- LeetCode may update their DOM structure - extension will be updated accordingly
- GitHub API rate limit: 5000 requests/hour
- Duplicate files will be overwritten
This project is licensed under the MIT License - see the LICENSE file for details.
- Inspired by various LeetCode sync tools
- Built with ❤️ for the coding community
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- ⭐ Star this repo if you find it helpful!
Made with ❤️ by Nam Khuc
⭐ Star this repo if you find it useful!

