Handles, domains and why Bluesky codes age well
Bluesky handles come in two shapes: the default name.bsky.social, and a custom domain you verify yourself. If you type a plain name here we add .bsky.social; if you type something containing a dot we treat it as a domain handle and leave it alone.
A domain handle is the more durable thing to put on print. It's an address you control, so even if you move to a different Bluesky server, or the app changes, the handle stays yours in a way a platform-issued username never quite does.
Because Bluesky's audience mostly arrived from elsewhere, these codes get used alongside others — a badge or slide showing Bluesky next to X and Mastodon. The QR pack on this page builds all of them into one labelled image so you're not exporting files one at a time.
Everything happens in your browser. The QR encoder is built into this page, so your username is never sent to a server, nothing is logged, and there's no daily limit. The code is static — the link lives in the pattern itself, with no redirect service in the middle that can expire, start charging or go down.