Tired of manually recreating your finely-tuned GitHub labels for every new repository? The GitHub Label Copier is a simple, powerful web tool that lets you copy labels from one repository to another in seconds.
No installs, no command line, no fuss. Just a clean interface to get the job done quickly.
- Zero Installation: Runs entirely in your browser. Nothing to download or install.
- Perfect Sync: Copies the label name, color, and description exactly.
- Update or Create: Intelligently updates existing labels and creates new ones.
- Optional Cleanup: Choose to delete labels from the target repository that don't exist in the source.
- Fast and Efficient: Uses the official GitHub API for quick and reliable syncing.
- Secure: Your GitHub token is only used in your browser to make API requests and is never stored.
- Free to Use & Host: Deployed on GitHub Pages, making it free for everyone.
The tool is hosted on GitHub Pages and is ready to use right now:
https://akkerman.ai/github-label-copier/
Using the tool is a simple four-step process:
-
Generate a GitHub Token:
- The tool needs permission to read and write labels on your behalf. You can provide this by creating a Personal Access Token (PAT).
- Click here to generate a new token.
- The link pre-selects the required
repo
scope. Just scroll down and click "Generate token". - Copy the token immediately! You won't be able to see it again.
-
Fill in the Repositories:
- Source Repository: The repo you want to copy labels from (e.g.,
facebook/react
). - Target Repository: The repo you want to copy labels to (e.g.,
YourUsername/my-awesome-project
).
- Source Repository: The repo you want to copy labels from (e.g.,
-
Choose Your Options:
- Check the "Delete existing labels..." box if you want to make the target repository's labels an exact mirror of the source.
-
Copy!
- Click the "Copy Labels" button and watch the log for real-time progress.
Your security is paramount. Here’s how your token is handled:
- Your Personal Access Token is stored only in your browser's memory while you have the page open.
- It is sent directly to the GitHub API over a secure HTTPS connection and is never sent to or stored on any other server.
- For maximum security, we strongly recommend you delete the token from your GitHub tokens page after you are finished using the tool.
This project is a pure static web application built with:
- HTML: For the structure and content.
- CSS: For clean, modern styling.
- JavaScript (ES6+): For all the logic, including
async/await
and thefetch
API to communicate directly with the GitHub REST API.
Because it's a static site, it can be hosted for free and with great performance on GitHub Pages.
Contributions are welcome! If you have an idea for a new feature, find a bug, or want to improve the code, feel free to:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature
). - Commit your changes (
git commit -m 'Add some AmazingFeature'
). - Push to the branch (
git push origin feature/AmazingFeature
). - Open a Pull Request.
You can also open an issue with the "bug" or "enhancement" tag.
This project is licensed under the MIT License. See the LICENSE file for details.