---
title: "Bluesky DID Lookup | Keep"
description: "Resolve a handle to its permanent AT Protocol identity so account mapping does not break later."
canonical: "https://keep.md/tools/bluesky-did"
language: "en"
---

# Find the Bluesky DID behind any public handle

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

## How to use this tool

Enter a Bluesky handle, profile URL, or DID and select Find DID. Copy the permanent DID, open its DID document, and see the profile with follower, following, and post counts.

## Save the X posts worth keeping

Posts and full threads as Markdown

Paste an X link into Keep and it saves the text, media, quoted posts, and the author’s whole thread in order.

Your bookmarks, synced

X bookmark sync brings your private X bookmarks into Keep automatically, and checks the public profiles you follow every hour.

Search it, or ask your agent

Search the text of everything you saved, or connect Keep to Claude, Codex, or Cursor over MCP.

Saving posts and threads is included with Personal ($10/month or $249 once for lifetime access). X bookmark sync is an add-on for $5/month.

[Sign up for Keep](https://app.keep.md/signup?utm_source=keep.md&utm_medium=tools&utm_campaign=bluesky-did)

[See how Keep saves X posts](https://keep.md/features/x-bookmarks)

## 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

### Can I find a Bluesky DID without logging in?

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

### What does a Bluesky DID look like?

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

### Does a DID change when the handle changes?

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

## Related tools

[

### Twitter ID lookup

Convert an X username to its permanent numeric user ID, or paste a user ID to get the current handle. Snowflake IDs show their creation time.

](https://keep.md/tools/twitter-id-finder)[

### Twitter viewer

View a public X profile or post without an account: bio, account totals, recent posts, media, and engagement counts.

](https://keep.md/tools/twitter-viewer)[

### Twitter card validator

Preview how a link will look when shared on X and check the title, description, image, and twitter: and og: tags it reads.

](https://keep.md/tools/twitter-card-validator)[

### URL cleaner

Strip UTM tags, fbclid, gclid, igshid, and other tracking parameters from any link. Bulk mode supported.

](https://keep.md/tools/url-cleaner)
