Today, we’re excited to introduce GitHub Package Registry, a package management service that makes it easy to publish public or private packages next to your source code.

GitHub Package Registry is fully integrated with GitHub, so you can use the same search, browsing, and management tools to find and publish packages as you do for your repositories. You can also use the same user and team permissions to manage code and packages together. GitHub Package Registry provides fast, reliable downloads backed by GitHub’s global CDN. And it supports familiar package management tools: JavaScript (npm), Java (Maven), Ruby (RubyGems), .NET (NuGet), and Docker images, with more to come.

You can try GitHub Package Registry today in limited beta. It will always be free to use for open source—more pricing details will be announced soon.

Sign up for the beta

Packages, together, with your code

When you work on a project that has dependencies on packages, it’s important for you to trust them, understand their code, and connect with the community who built them. And inside organizations, you need to be able to quickly find what’s been approved for your use. GitHub Package Registry makes it easy to use the same familiar GitHub interface to find public packages anywhere on GitHub, or private packages within your organization or repositories.



GitHub Package Registry is compatible with common package management clients, so you can publish packages with your choice of tools. If your repository is more complex, you’ll be able to publish multiple packages of different types. And, with webhooks or with GitHub Actions, you can fully customize your publishing and post-publishing workflows.

Publishing an open source package? Most open source projects have their code on GitHub, so you can publish prerelease versions of your packages for testing within your community, and then easily promote specific versions to the public registry of your choice.

Unified identity and permissions



If you’re using different systems for your code and packages today, you have to maintain different sets of user credentials and permissions. Now you can use a single set of credentials across both, and manage access permissions with the same tools. Packages on GitHub inherit the visibility and permissions associated with the repository, and organizations no longer need to maintain a separate package registry and mirror permissions across systems.

Package insights



Packages hosted on GitHub include details and download statistics, along with their entire history, so you know exactly what’s included. This makes it easy to find and use the right package as a dependency for your project, and increase your confidence that it only contains what’s advertised. With more insights into the packages you publish, you can understand exactly how other people and repositories are using them.

Join the beta

GitHub Package Registry is currently in limited public beta.

Sign up to get started

We hope you’re as excited as we are about this new release. Try it out—we can’t wait to see how you use it and learn how we can make it better.