How to Use a Free Domain for a Bluesky Custom Handle
🔍 WiseChecker

How to Use a Free Domain for a Bluesky Custom Handle

Bluesky lets you replace your default handle with a custom domain so your profile reads as @yourname.com instead of @username.bsky.social. A custom domain gives you a professional identity on the platform and makes your account easier to find. You do not need to pay for a domain if you know where to find free options. This article explains how to get a free domain, add the required DNS records, and verify it inside Bluesky.

Key Takeaways: How to Set Up a Free Domain on Bluesky

  • Free domain providers like Freenom or .tk domains: Offer no-cost domain names that work with Bluesky DNS verification.
  • DNS TXT record for Bluesky handle verification: A single TXT record with the value did=did:plc:xxxxxxxxx proves ownership.
  • Settings > Account > Handle > I have my own domain: The menu path to start the verification process inside Bluesky.

What a Custom Domain Handle Does and What You Need

A custom handle on Bluesky changes your public username from a generic subdomain to a domain you control. For example, your handle becomes @yourname.com instead of @yourname.bsky.social. This change affects your profile URL and how other users find you on the network.

To use a custom domain, you need three things. First, you need a domain name registered with a DNS provider. Second, you need the ability to add a TXT record to that domain. Third, you need your Bluesky account DID, which is a decentralized identifier that links your profile to the domain.

Free domains come from providers such as Freenom, which offers .tk, .ml, .ga, .cf, and .gq extensions at no cost. You can also use subdomains of a domain you already own, such as bsky.yourdomain.com. The process for verification is identical regardless of whether the domain is free or paid.

Steps to Get a Free Domain and Verify It on Bluesky

Step 1: Register a Free Domain

  1. Go to Freenom
    Open your browser and navigate to freenom.com. Freenom is the most common provider of free domain names that support DNS record management.
  2. Search for an available domain
    Type your desired name in the search box. Choose one of the free extensions: .tk, .ml, .ga, .cf, or .gq. Click the Check Availability button.
  3. Complete the registration
    If the domain is available, select the free period usually 12 months. Click Continue. Create an account or sign in. Fill in your details and confirm the order. You now own the domain for the free period.

Step 2: Find Your Bluesky DID

  1. Open Bluesky settings
    Log in to your Bluesky account. Click the hamburger menu or your avatar in the top left, then select Settings.
  2. Go to Account settings
    In the Settings menu, click Account. Scroll down to the Handle section.
  3. Copy your DID
    Click the link that says I have my own domain. Bluesky shows a text box with your DID, which looks like did=did:plc:xxxxxxxxx. Copy the entire string exactly. You will need it for the DNS record.

Step 3: Add a TXT Record to Your Domain

  1. Log in to your DNS management panel
    If you used Freenom, log in to your Freenom account. Click Services > My Domains. Click Manage Domain next to your free domain. Go to the Manage Freenom DNS tab.
  2. Create a new TXT record
    In the DNS Management section, click Add Record. Set Type to TXT. For Name, enter _atproto if you want the handle to be your bare domain, or enter the subdomain name if you are using a subdomain. For Target, paste the DID string you copied earlier. Set TTL to 14400 or the default value.
  3. Save the record
    Click the Save Changes button. The DNS record may take a few minutes to propagate, though it often updates within 60 seconds on Freenom.

Step 4: Verify the Domain in Bluesky

  1. Return to Bluesky Account settings
    Go back to Settings > Account > Handle. Click I have my own domain again.
  2. Enter your domain
    In the text box that appears, type your full domain name. For example, yourname.tk or bsky.yourdomain.com. Do not include the @ symbol or any protocol prefix like https://.
  3. Click Verify DNS Record
    Bluesky checks for the TXT record you created. If the record is found, a confirmation message appears. Click Save Changes. Your handle now displays as your custom domain.

Common Mistakes and Limitations When Using Free Domains

Free domains expire and must be renewed

Free domains from Freenom have a limited period, typically 12 months. After that, you must renew the domain or it becomes available to others. If the domain expires, Bluesky will show a verification error and your handle will revert to the default. Set a calendar reminder to renew before the expiration date.

The TXT record name is wrong

Many users enter the wrong name in the TXT record. For a bare domain like yourname.tk, the name must be _atproto. For a subdomain like bsky.yourname.tk, the name must be _atproto.bsky. If the record is missing the underscore, Bluesky cannot find it. Double-check the name before saving.

DNS propagation delay

Even after you save the TXT record, DNS changes can take up to 24 hours to propagate globally. If Bluesky says the record is not found, wait 30 minutes and try again. You can use a free online DNS checker to confirm the record is visible before returning to Bluesky.

You cannot change the handle to a domain you do not control

Bluesky verifies the TXT record before allowing the change. If you do not have DNS access for the domain, the verification will fail. This prevents impersonation and ensures only the domain owner can claim the handle.

Item Free Domain Freenom Paid Domain
Cost Free for 12 months $8 to $15 per year
Extensions available .tk, .ml, .ga, .cf, .gq .com, .org, .net, .io, 1000+
DNS record management Basic, included in control panel Full control, often with API access
Renewal Manual, must be done before expiry Auto-renewal available
Bluesky compatibility Fully compatible with TXT record Fully compatible with TXT record

Both free and paid domains work identically for Bluesky custom handles. The only differences are the cost, the available extensions, and the renewal process. A free domain is a good way to test the feature before committing to a paid domain.

You can now set up a free domain as your Bluesky custom handle by registering a domain, adding the TXT record, and verifying it in account settings. After verification, your profile shows the custom domain immediately. For a more permanent solution, consider a paid domain with auto-renewal to avoid losing your handle. If you manage multiple domains, you can also use subdomains to create separate handles for different accounts without registering new domains.