One of Bluesky's most underrated features is the ability to use any domain you own as your handle. Instead of @yourname.bsky.social, you can be @yourname.com — and that domain acts as proof of identity without requiring any centralised verification authority. It's the AT Protocol doing something Twitter's blue checkmark never could.

The good news: setting it up takes about five minutes and zero code. The bad news: DNS is involved, so let's do it properly.

Why Use a Custom Domain Handle?

There are two compelling reasons. First, identity: if you already have a presence at yourname.com, making that your Bluesky handle means anyone can see that the account is legitimately you. No third-party verification required — the DNS record does the work. Second, permanence: your domain outlasts any specific platform. Even if you move to a different AT Protocol server, your domain handle stays the same.

Quick Answer: Add a DNS TXT record at your domain registrar with the host _atproto and the value Bluesky gives you, then verify in Settings. That's it.

Step-by-Step Setup

1

Open Handle Settings on Bluesky

On bsky.app, tap your profile picture in the top-left, then go to Settings > Change Handle. At the bottom of the modal, select "I have my own domain" and type in the domain you want to use (e.g. yourname.com).

2

Copy your verification string

Bluesky will show you a verification string that looks like did=did:plc:xxxxxxxxxxxx. Copy the entire value — you'll need it in the next step.

3

Add a TXT record at your registrar

Log into your domain registrar's DNS management panel and add a new TXT record:

DNS Record Type: TXT
Host / Name: _atproto
Value: did=did:plc:xxxxxxxxxxxx
TTL: 300 (or "Automatic")

The host field is always _atproto (not _atproto.yourname.com — your registrar adds the domain automatically).

4

Click "Verify DNS Record" in Bluesky

Go back to the Bluesky handle settings and click the verify button. If DNS has propagated, you're done and your handle switches immediately.

Registrar-Specific Notes

Cloudflare

Set the record type to TXT, name to _atproto, and content to your did string. Leave the Proxy toggle off (DNS only, grey cloud). Propagates in seconds.

Namecheap

In Advanced DNS, click "Add New Record." Choose TXT Record, set Host to _atproto, and Value to your did string. TTL can stay at "Automatic." Propagates within 5–20 minutes.

GoDaddy

In the DNS management panel, select Add → TXT. Set Name to _atproto, Value to your did string, TTL to 1 hour. GoDaddy can take 20–60 minutes to propagate.

Google Domains / Squarespace DNS

Add a custom record, type TXT, host _atproto, data = your did string. Typically propagates within a few minutes.

Using a Subdomain as Your Handle

You can also use a subdomain — for example, @blog.yoursite.com or @team.company.com. The process is the same, but the TXT record host becomes _atproto.blog (for blog.yoursite.com). Bluesky resolves handles against their full hostname, so subdomains work exactly the same as apex domains.

Common Problems and Fixes

Verification fails immediately — DNS hasn't propagated yet. Wait 5 minutes and try again. Cloudflare is usually instant; GoDaddy can take up to an hour.

"That domain is already taken" — Another Bluesky account is using that domain as a handle. You'll need to use a different domain or subdomain.

Record shows but verification still fails — Double-check the TXT host is exactly _atproto (no extra dots) and the value starts with did=.

My old .bsky.social handle broke — It didn't. Your old handle continues to work as an alias and all your existing followers are unaffected. Your domain is now your primary handle.

Check if a handle is available first

Before setting up DNS, confirm your desired username isn't already taken on Bluesky.

Check Handle Availability →

Frequently Asked Questions

Do I need to pay for this? You need to own a domain (~$10–20/year). The Bluesky verification itself is free — no paid subscription required.

Will my followers lose me? No. Everyone who follows @yourname.bsky.social will still see your posts. Both handles point to the same DID.

Can I switch back to .bsky.social? Yes. Go back to Settings > Change Handle and delete the custom domain to return to your original handle.

Does this work on the mobile app? Yes — the Settings > Change Handle flow is the same on iOS and Android as it is on the web.

← All articles How to grow on Bluesky →