How to cross-post from X to Bluesky
A plain guide — Bluesky support is rolling out.
Bluesky is the largest of the open social networks, and it has a free, open API. With Xstr you can mirror your X (Twitter) posts to Bluesky and post to both from one composer — alongside Nostr. Your credentials are encrypted at rest, and there's no tracking.
Heads up: Bluesky mirroring is rolling out and may not be enabled on every instance yet. If you don't see a Bluesky option in the app, it isn't turned on for you — everything below is exactly how it works once it is.
Why an app password?
Bluesky lets you create app passwords — scoped credentials you can revoke without changing your real password. Xstr uses one so it never needs your main password, and stores it encrypted (AES-256-GCM) at rest.
Step 1 — Create a Bluesky app password
In the Bluesky app or website, go to Settings → App passwords and create one. Copy it — it looks like xxxx-xxxx-xxxx-xxxx.
Step 2 — Add Bluesky in Xstr
Open the app, go to Settings, find the Bluesky section, and paste your handle (e.g. you.bsky.social) plus the app password. Xstr logs in to verify the credentials, then stores the app password encrypted.
Step 3 — Post to X, Nostr, and Bluesky at once
In Compose, turn on the destinations you want and post once — it goes to each. Each platform reports back on its own, so if one is having a moment the others still go through.
Step 4 — Mirror automatically
With background sync on, every new original X post is also posted to Bluesky, best-effort, once. No loops, no duplicates.
Good to know
- Free and no tracking.
- Revocable: delete the app password in Bluesky any time to cut access instantly.
- See the privacy & key-safety page for what's stored.