Updrift Sign in Try it free

Your own domain as your Bluesky handle

A Bluesky handle can be any domain you control. Setting it up takes one DNS record or one small file, and a few minutes of waiting.

Updated 30 September 2026

Why a domain handle

Your Bluesky handle is a domain name. The default, you.bsky.social, is a subdomain Bluesky lends you; a custom handle is a domain you own instead. It says who you are in a way nobody else can copy, because only the person who controls yourdomain.com can point it at an account. For a business, a newsletter or anyone with a website, it is the simplest form of verification on Bluesky, and it turns the handle into a pointer to somewhere you already are.

Under the hood, your account has a permanent identifier, a DID, that never changes. The handle is a label that points at it. Changing the handle changes the label; your followers, posts and everything else stay put.

What you need

The steps

  1. In the Bluesky app, open Settings, then Account, then Change handle, and choose "I have my own domain".
  2. Type the domain or subdomain you want as your handle.
  3. Bluesky shows two ways to prove you control it. Pick one of the two below.
  4. Once the record or file is in place, tap the verify button. If DNS has not caught up yet, wait a few minutes and try again; changes to DNS can take minutes, occasionally longer.
  5. When it verifies, the handle changes. Your old handle is released.

Method one: a DNS TXT record

Add a TXT record at the host _atproto under your domain, so the full name is _atproto.yourdomain.com, with the value did=did:plc:…, using the DID Bluesky shows you. For a subdomain handle such as name.yourdomain.com the record goes at _atproto.name.yourdomain.com. Every DNS host presents this slightly differently: some want the host as _atproto and add the domain themselves, some want the whole name. The value is the same everywhere.

This method works whether or not the domain has a website.

Method two: a file on your site

If you cannot edit DNS but you run a website at the domain, serve a plain text file at https://yourdomain.com/.well-known/atproto-did whose entire content is your DID and nothing else, over HTTPS. Bluesky fetches it and compares. This suits a static site or anywhere you can drop a file, and it is the natural method for a subdomain that already serves a site.

After the change

Common problems

SymptomUsual cause
Verification fails straight after adding the recordDNS has not propagated. Wait a few minutes and try again.
Still failing an hour laterThe record is at the wrong name (missing _atproto, or on the root instead of the subdomain), or the value is missing the did= prefix.
The file method failsThe file is served with a redirect, is not plain text, has other text in it, or the site is not on HTTPS.
The handle shows as invalid weeks laterThe record was removed, or the domain expired.

Questions

Does a custom domain handle cost anything?

Bluesky charges nothing for it. You need a domain, which costs whatever your registrar charges, and one DNS record or a file on a website you already run.

What happens to my old bsky.social handle?

It is released when the change goes through, so anyone can register it. Your followers and posts stay with you, because they are tied to your account's DID rather than to the handle.

Can I use a subdomain?

Yes. name.yourdomain.com works the same way, with the TXT record at _atproto.name.yourdomain.com. That is how a company gives each person a handle on one domain.

See your own figures, free.

Followers by the hour, the posts that landed, your best hours and how your hashtags do. One account, no card, for good.

The Planner, the Inbox and the full What works report come with a paid plan, 7 days free. See the plans.