Keep

Find the Bluesky DID behind any public handle

Resolve a handle to its permanent AT Protocol identity so account mapping does not break later.

Try:

DID

Open the DID document to see the account's signing keys, hosting server, and handle record.

Profile

Followers
Following
Posts
Joined

Look up the permanent Bluesky account identifier

A Bluesky DID is the permanent identifier behind a handle. Handles are human-friendly and can move. DIDs are the stable account identity used by the AT Protocol.

Paste a handle such as bsky.app or @bsky.app, or a bsky.app profile link, and the tool resolves it to the DID. The result also shows the profile with its follower, following, and post counts, and links to the DID document. No login is needed because handle resolution is public. Your browser asks Bluesky's public API directly, so this lookup does not count toward Keep's daily tool uses.

Why DIDs matter more than handles in integrations

Handles are great for people. They are less ideal for systems because they can change. A DID gives your code a stable value to store when you are building importers, analytics, profile links, or account mapping.

When to use the numerical Bluesky ID instead

Use the numerical ID only when you specifically need the older signup-style number. For integrations and identity lookup, the DID is usually the useful value. Keep does not look up the numerical account number, because Bluesky only gives it to the signed-in account owner.

Questions

Frequently asked questions

Yes. A Bluesky DID can be resolved from a public handle without asking for account credentials.

Most Bluesky DIDs look like did:plc followed by a long string. Some AT Protocol accounts may use did:web instead.

No. The handle can change, but the DID is designed to stay attached to the account.