DNSfinder.net
Usernames

Social Username Checker

Check one handle against ten platforms in a single request: GitHub, GitLab, Docker Hub, DEV Community, Keybase, Hacker News, Codeberg, Bluesky, Chess.com and Lichess. The server asks each platform's public API whether an account with that name exists and reports Available, Taken or Unknown, with a link to the profile address on every row. Unknown is used whenever a platform gives no clear answer, so nothing is shown as free on a guess.

Loading Social Username Checker...

Querying live edge resolvers and network infrastructure...

How to use the Social Username Checker

  1. Type the handle you want into the Username box, with or without a leading @, using letters, numbers, dots, dashes or underscores.
  2. Click Check Availability and wait a few seconds while the ten platforms are queried.
  3. Read the Available, Taken and Couldn't check counts, then the status and note on each platform's row.
  4. Click Open on a row to visit that profile address and register the name or see who holds it.

What to look for

Unknown is not available

A row is marked Unknown when the platform timed out, limited the request, answered with an unexpected status code or does not allow the name's format. The Note column says which. Treat those rows as unchecked and open the platform yourself. The Couldn't check tile counts them apart from the other two.

Available has small print

Available means the platform's API reports no public account under that name right now. Sign-up can still refuse it: sites reserve words that clash with their own pages, hold the names of deleted or suspended accounts, and block some terms outright. Only the registration form gives the final answer.

Format rules differ by platform

Docker Hub wants 4 to 30 lowercase letters and digits. Bluesky allows 3 to 18 letters, digits and hyphens. GitHub accepts hyphens but no dots or underscores. A name of 4 to 18 lowercase letters and digits fits every format rule in the list, which makes it the safest shape for a handle you want everywhere.

Guide

How username checks work and what each status means

How each platform is asked

There is no shared registry of usernames, so the checker asks every platform separately. Your handle goes to this site's server, which calls a fixed public endpoint on each service, five at a time with a seven second limit apiece. For most of them the HTTP status code is the answer: GitHub, Docker Hub, DEV Community, Codeberg and Lichess return 200 when the user exists and 404 when it does not.

A few need the response body read. GitLab returns an empty list for a free name, Hacker News returns null, and Keybase returns a lookup with no user in it. Bluesky is asked to resolve name.bsky.social and answers with an error when nothing owns that handle. Chess.com also counts a redirect as taken. Anything outside these patterns becomes Unknown instead of being forced into a yes or a no.

Reading the results table

The three tiles count rows by status. Below them each row has the platform, a status pill and a Note, which is filled in only for Unknown rows: Not a valid username format on this platform, The platform answered HTTP 403; check manually, or The platform didn't respond in time. The Note column is hidden on narrow phone screens.

The Open link goes to where the profile lives on that platform, for example github.com/janedoe or lichess.org/@/janedoe. On a Taken row it shows who has the name and whether the account looks active. On an Available row it usually lands on a not-found page, and you need the platform's sign-up form to claim the name.

Why a free name can still be refused

The check sees public accounts only. A platform can report that no such user exists and still reject the name at sign-up because it is reserved for the site's own pages (login, about, admin and the like), belonged to an account that was deleted or suspended, or matches a blocked term. Some services also keep freed names out of circulation for a while before releasing them.

Case and character rules add to this. Most platforms treat JaneDoe and janedoe as one name, while the Hacker News lookup is case-sensitive, so type the capitalisation you plan to register. A dot in the handle is invalid on GitHub, Docker Hub, Bluesky, Chess.com and Lichess, and those rows come back Unknown without a request being made.

Platforms that are not on the list

Instagram, TikTok, X and Facebook are left out on purpose. They block automated lookups, and the responses they give a script do not reliably separate real accounts from missing ones, which would produce confident wrong answers. For those, try the handle in the app's sign-up form or profile search. The ten platforms here each have a public endpoint that answers without a login.

A handle is often paired with a domain. If you are naming a project, run the same word through domain availability before settling on it. Bluesky also lets you use a domain you control as your handle in place of name.bsky.social, proved by a TXT record at _atproto under that domain, which TXT lookup can read back. This checker tests the bsky.social form only.

Limits, caching and privacy

Checks are limited to ten a minute per address, and results may be cached for ten minutes, so a name registered a moment ago can still show as Available. Platforms apply their own limits to this site's server as well. When one starts refusing requests, its row turns Unknown with the status code it returned, typically 403 or 429, until the limit resets.

The platforms receive the request from DNSfinder's server, identified as the username checker, and never see your address. The handle appears in the page URL so a result can be shared. A result goes stale quickly: a name that is free today can be taken tomorrow, so register the handles you care about once the table looks right.

Knowledge Base & FAQ

Social Username Checker FAQs

Common questions about the social username checker.

Enter it once here and the tool queries ten platforms that expose a public lookup. For networks that block automated checks, including Instagram, TikTok, X and Facebook, you have to try the name in each app. Scripted checks of those sites are not dependable, which is why they are left out.