NuGet Package Name Checker
Thinking of a name for your package? Check whether the ID is already taken on nuget.org before you run dotnet pack. Type a package ID and see if it's free, or which versions already exist.
Letters, digits, and . _ - separators. Up to 100 characters.
NuGet package name questions
How do I check if a NuGet package name is available?
Type the package ID into the box above. This tool asks the public nuget.org API whether any package with that ID is published. If the API returns nothing, the name has no published package today; if it returns versions, the name is taken.
Does an available result mean I can reserve the name?
Not necessarily. 'Available' means no published package currently uses that ID. It is not a reservation, someone else can publish it first, and a prefix you don't own may be protected by Reserved Package IDs. NuGet also never lets you reuse the ID of a deleted package, so a free-looking name can still be unusable.
Are package IDs case sensitive?
No. NuGet treats IDs case-insensitively and normalizes them to lowercase for storage and URLs, so Contoso.Widgets and contoso.widgets are the same package. This tool checks the lowercased form the registry uses.
What characters are allowed in a NuGet package ID?
Letters, digits, and the separators '.', '_', and '-'. An ID is up to 100 characters, can't start or end with a separator, and can't contain two separators in a row. Dotted IDs like My.Company.Library are the common convention.
Does this tool send my package name anywhere?
It queries the public nuget.org registry API (api.nuget.org) directly from your browser to look up the ID, the same public data anyone can see on the nuget.org website. Nothing is stored or logged by this site.