{"id":21578302,"url":"https://github.com/stephanakkerman/github-label-copier","last_synced_at":"2026-05-20T09:10:53.689Z","repository":{"id":157307861,"uuid":"455630575","full_name":"StephanAkkerman/github-label-copier","owner":"StephanAkkerman","description":"Copy your issue labels from any (public) repository to another","archived":false,"fork":false,"pushed_at":"2024-04-18T16:15:38.000Z","size":18231,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-24T14:17:13.616Z","etag":null,"topics":["github","github-api","github-workflows","issue","issue-label","issue-labels","issues","labeling","labeling-tool","labels","python","python3","workflow"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/StephanAkkerman.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-02-04T17:07:36.000Z","updated_at":"2024-04-18T16:18:34.000Z","dependencies_parsed_at":"2024-04-18T18:13:56.100Z","dependency_job_id":"df389b8d-3bf5-47bd-9385-8ee21bf71a37","html_url":"https://github.com/StephanAkkerman/github-label-copier","commit_stats":null,"previous_names":["stephanakkerman/github-label-copier"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephanAkkerman%2Fgithub-label-copier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephanAkkerman%2Fgithub-label-copier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephanAkkerman%2Fgithub-label-copier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/StephanAkkerman%2Fgithub-label-copier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/StephanAkkerman","download_url":"https://codeload.github.com/StephanAkkerman/github-label-copier/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244177648,"owners_count":20410993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["github","github-api","github-workflows","issue","issue-label","issue-labels","issues","labeling","labeling-tool","labels","python","python3","workflow"],"created_at":"2024-11-24T13:10:06.132Z","updated_at":"2026-05-20T09:10:53.682Z","avatar_url":"https://github.com/StephanAkkerman.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Label Copier 🏷️\n\n[![Live Demo](https://img.shields.io/badge/Live%20Demo-Visit%20Tool-brightgreen?style=for-the-badge\u0026logo=github)](https://akkerman.ai/github-label-copier/) \u003c!-- TODO: Replace with your live URL --\u003e\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=for-the-badge)](https://opensource.org/licenses/MIT)\n\nTired 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 between repositories and organizations in seconds.\n\nNo installs, no command line, no fuss. Just a clean interface to get the job done quickly.\n\n![Screenshot of the GitHub Label Copier tool](img/screenshot.png)\n\n## ✨ Features\n\n*   **Zero Installation:** Runs entirely in your browser. Nothing to download or install.\n*   **Perfect Sync:** Copies the label name, color, and description exactly.\n*   **Update or Create:** Intelligently updates existing labels and creates new ones.\n*   **Optional Cleanup:** Choose to delete labels from the target that don't exist in the source.\n*   **Organization Support:** Works with organization-level labels — copy repo → org, org → repo, or org → org.\n*   **Fast and Efficient:** Uses the official GitHub API for quick and reliable syncing.\n*   **Secure:** Your GitHub token is only used in your browser to make API requests and is never stored.\n*   **Free to Use \u0026 Host:** Deployed on GitHub Pages, making it free for everyone.\n\n---\n\n## 🚀 Try It Live!\n\nThe tool is hosted on GitHub Pages and is ready to use right now:\n\n**[https://akkerman.ai/github-label-copier/](https://akkerman.ai/github-label-copier/)**\n\n---\n\n## 📋 How to Use\n\nUsing the tool is a simple four-step process:\n\n1.  **Generate a GitHub Token:**\n    *   The tool needs permission to read and write labels on your behalf. You can provide this by creating a **Personal Access Token (PAT)**.\n    *   **[Click here to generate a new token](https://github.com/settings/tokens/new?scopes=repo\u0026description=GitHub%20Label%20Copier)**.\n    *   The link pre-selects the required `repo` scope. Just scroll down and click **\"Generate token\"**.\n    *   **Copy the token immediately!** You won't be able to see it again.\n\n2.  **Fill in the Source and Target:**\n    *   **Source:** The repository or organization you want to copy labels *from*.\n        *   For a repository: `owner/repo` (e.g., `facebook/react`)\n        *   For organization-level labels: just the org name (e.g., `my-org`)\n    *   **Target:** The repository or organization you want to copy labels *to* (same formats as above).\n\n3.  **Choose Your Options:**\n    *   Check the \"Delete existing labels...\" box if you want to make the target repository's labels an exact mirror of the source.\n\n4.  **Copy!**\n    *   Click the \"Copy Labels\" button and watch the log for real-time progress.\n\n---\n\n## 🔒 A Note on Security\n\nYour security is paramount. Here’s how your token is handled:\n\n*   Your Personal Access Token is stored **only in your browser's memory** while you have the page open.\n*   It is sent **directly to the GitHub API** over a secure HTTPS connection and is never sent to or stored on any other server.\n*   For maximum security, **we strongly recommend you delete the token** from your [GitHub tokens page](https://github.com/settings/tokens) after you are finished using the tool.\n\n---\n\n## 🛠️ How It Works\n\nThis project is a pure static web application built with:\n\n*   **HTML:** For the structure and content.\n*   **CSS:** For clean, modern styling.\n*   **JavaScript (ES6+):** For all the logic, including `async/await` and the `fetch` API to communicate directly with the [GitHub REST API](https://docs.github.com/en/rest).\n\nBecause it's a static site, it can be hosted for free and with great performance on **GitHub Pages**.\n\n## 🤝 Contributing\n\nContributions are welcome! If you have an idea for a new feature, find a bug, or want to improve the code, feel free to:\n\n1.  **Fork** the repository.\n2.  Create your feature branch (`git checkout -b feature/AmazingFeature`).\n3.  Commit your changes (`git commit -m 'Add some AmazingFeature'`).\n4.  Push to the branch (`git push origin feature/AmazingFeature`).\n5.  Open a **Pull Request**.\n\nYou can also open an issue with the \"bug\" or \"enhancement\" tag.\n\n## 📄 License\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephanakkerman%2Fgithub-label-copier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstephanakkerman%2Fgithub-label-copier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstephanakkerman%2Fgithub-label-copier/lists"}