Universal links

One link, every Atmosphere client

Drop an aturi.to link anywhere: a DM, a footer, a bio. Visitors land on a preview of the record and choose which Atmosphere client opens it. No lock-in, no sign-up. Every record, profile, list, and feed resolves across 25+ curated clients.

Anyone you share an aturi.to link with picks where it opens.

Open in any of 25+ Atmosphere clients

Every universal link page shows the full picker.

aturi.to/profile/aturi.to/app.bsky.feed.post/3lq9c2fhz3k2v
Domain
The universal link host. Aliases for atpota.to are also supported.
Mount
The canonical mount point. Bare paths without /profile/ resolve too, for backwards compatibility.
Handle or DID
Resolved to a PDS via the standard atproto identity chain.
Collection
The lexicon NSID of the record being linked.
Record key
The TID assigned by the PDS when the record was written.
Anatomy of a link

Predictable, hackable URLs

Every aturi.to URL follows one pattern: the host, the /profile mount, a handle or DID, the lexicon collection, and the record key. The same shape covers every record type. If you know what an AT URI looks like, you already know the URL.

Drop the collection and rkey for a profile link. Posts also accept a friendlier /post/<rkey> shortcut, and bare paths without the /profile prefix still resolve for backwards compatibility.

Every record type

Posts, profiles, lists, feeds, documents, repos, galleries…

If a lexicon has a public record, aturi.to has a URL for it. The same handle/collection/rkey pattern resolves whether the record lives in app.bsky.feed.post, pub.leaflet.document, sh.tangled.repo, or a lexicon that shipped yesterday.

Aturi
@aturi.to
Recommended for posts
Anisota
View post on anisota.net
Open in another client
Bluesky
View post on bsky.app
Deer
View post on deer.social
Leaflet
View document on leaflet.pub
Tangled
View on tangled.org
PDSls
View raw record on pdsls.dev
The picker

A friendly landing page for every record

Recipients land on a clean preview with a recommended client pinned at the top and every alternative below. They can read the record, decide where to open it, and skip apps they don’t use.

Each link is a real, indexable URL. Embeds get OpenGraph cards, link unfurlers get a real title and description.

Signed in as @aturi.to
app.bsky.feed.postAnisota
pub.leaflet.documentLeaflet
sh.tangled.repoTangled
Synced to your repo · works on every device you sign in to.
Smart preferences

Signed in? The picker reorders for you.

Sign in with your atproto handle and aturi.to remembers your favorite client for each record type, the waypoints you’ve hidden, and any custom ones you’ve added. Every visit lifts your favorites to the top of the picker.

Preferences live in your atproto repo as records you own. They sync across every device you sign in to, and they migrate with you if you move your data to a different PDS.

Share anywhere

A link you can paste anywhere

An aturi.to URL is short, readable, and copy-pasteable. It works in Bluesky posts, group chats, blog footers, business cards, QR codes, podcast show notes, and anywhere else a regular link works.

In a DM
ren
check this out — aturi.to/profile/aturi.to/post/3lq…
In a profile bio
@new-account
writer · gardener · my work lives at aturi.to/profile/new-account.bsky.social
In a footer
Follow updates → aturi.to/profile/handle/app.bsky.feed.generator/news
More from Aturi

See the rest of the toolkit