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.