Get paid for the questions and custom requests you already get from followers.

Create your free Brillay link

Platforms & Link-in-Bio

How to Add a Link to Your Bluesky Bio

Bluesky has no separate website field — you paste a URL straight into the Description box on Edit Profile, and Bluesky auto-links it. Here's the exact flow.

Updated August 2026

Get paid for this — with Brillay

Bluesky has no website field — your link shares 256 graphemes with your bio. Why spend it on "DM me"? Point it at a Paid Question: the follower pays upfront, you answer in writing on your own time, async.

Brillay is a link in your bio where followers pay you directly for:

Paid QuestionsCustom WorkPersonalized VideosGoalsTips

The tap from your Bluesky Description lands on your own Brillay page, where the follower pays by card as a guest — no account to create between reading your bio and paying you.

No monthly fee, you only pay a small platform fee when you get paid.

Bluesky has no separate website field in its Edit Profile screen: paste your URL into the Description box and Bluesky renders the plain-text link as tappable. That Description holds 256 graphemes total for your bio text plus the link, and the flow is identical on iOS, Android, and bsky.app. Paid Questions let a follower pay upfront to ask one private question, and you send one written reply on your own time — no live call or scheduling.

That build of the profile editor defines exactly two editable text inputs, Display Name and Description, with no website input among them (bluesky-social/social-app, EditProfileDialog.tsx @ f69ad16). The bio is stored as a plain string, and the profile screen calls useRichText(description), which runs detectFacets at render time to turn URLs into tappable links (bluesky-social/social-app, src/view/screens/Profile.tsx @ f69ad16).

How do I add a link in the Bluesky mobile app?

Tap your avatar, tap Edit Profile, paste the full URL into the Description box next to your bio text, and tap Save. Bluesky's app ships only two editable profile text fields — Display Name and Description — so the Description is the only place a bio link can go.

  1. Open Bluesky and tap your avatar to view your profile.
  2. Tap Edit Profile.
  3. In the Description box, enter your bio text and paste the complete URL, including https://.
  4. Tap Save.
  5. View your public profile and tap the URL to confirm that it opens correctly.

No markdown, approval step, or verification is involved: EditProfileDialog.tsx saves the Description as a plain string trimmed of trailing whitespace, capped by the constant MAX_DESCRIPTION = 256 (bluesky-social/social-app, src/lib/constants.ts @ f69ad16). After you save, Bluesky automatically turns the full URL in your Description into a clickable link.

How do I add a link on the Bluesky website?

Sign in at bsky.app, open Edit Profile, paste the full URL into the same Description box, and select Save Changes. Bluesky builds web, iOS, and Android from the single bluesky-social/social-app repository, so the web editor draws on the same Display Name and Description fields and the same 256-grapheme cap.

  1. Sign in at bsky.app and open your profile.
  2. Select Edit Profile.
  3. Paste the complete URL into the Description box alongside any bio text.
  4. Select Save Changes.
  5. Check the public profile to confirm that the link works.

Bluesky maintains one repository, bluesky-social/social-app, described by its maintainers as “the Bluesky Social application for Web, iOS, and Android,” and at commit f69ad16 a single EditProfileDialog.tsx and a single MAX_DESCRIPTION = 256 constant serve all three targets; deployed builds can lag that source. A URL saved on the web also appears on mobile because your bio lives in one description string on a single app.bsky.actor.profile record, not in per-client formatting (bluesky-social/atproto, lexicons/app/bsky/actor/profile.json @ f0d4877).

How much room does a Bluesky bio provide?

The Bluesky bio field is capped at 256 graphemes and 2,560 bytes, and your link has to fit inside that same budget alongside the bio text. The Display Name is a separate, shorter field at 64 graphemes and 640 bytes, and it is not where an outbound link belongs.

The app.bsky.actor.profile lexicon sets description to maxGraphemes: 256 and maxLength: 2560, and displayName to maxGraphemes: 64 and maxLength: 640 (bluesky-social/atproto). Bluesky's own client enforces the same numbers client-side through the constants MAX_DESCRIPTION = 256 and MAX_DISPLAY_NAME = 64 (bluesky-social/social-app).

The AT Protocol handle specification caps a Bluesky handle at 253 ASCII characters, and recommends a practical limit of 244 characters because DNS handle verification prepends the 9-character _atproto. prefix. The handle identifies your account and is not a bio field, so it cannot carry an outbound link.

The 256-grapheme cap counts visible characters — one emoji counts as one grapheme — while the separate maxLength: 2560 cap counts raw UTF-8 bytes, where a single emoji or accented letter can consume 2 to 4 bytes (bluesky-social/atproto). Plain-ASCII bio text plus a link hits the 256-grapheme limit first; an emoji-heavy bio can hit the 2,560-byte limit first.

FieldLimit (per app.bsky.actor.profile lexicon)Can it hold a clickable outbound link?
Description (bio)256 graphemes and 2,560 bytesYes; URLs detected at render by useRichText / detectFacets
Display Name64 graphemes and 640 bytesNo; rendered as plain text, not passed through facet detection
Pronouns20 graphemes and 200 bytesNo; schema-only field, with no input in EditProfileDialog.tsx at commit f69ad16
Handle (@handle)253 ASCII characters (244 recommended)No; an identifier defined by the AT Protocol handle spec, not a bio field

Only description is defined as free-form bio text in the profile record, which is why it is the single field where a URL can appear (bluesky-social/atproto). Because the 256-grapheme budget covers the URL and the sentence around it, a 25-character short link leaves roughly 230 graphemes to explain who you are and why someone should tap it.

Does Bluesky have a separate website field?

No — not one you can fill in. Bluesky's Edit Profile screen offers exactly two editable text inputs, Display Name and Description, so the outbound link goes in the same 256-grapheme Description field as your bio text on iOS, Android, and bsky.app alike.

Bluesky's open-source EditProfileDialog.tsx component renders one avatar picker, one banner picker, and two labelled text fields — Display Name and Description — and contains no website input (bluesky-social/social-app).

The schema is ahead of the app by roughly a year. Commit 8dc4caf, dated 24 September 2025 and titled “Expand profile fields (#4224),” added an optional website string with format: uri and a pronouns field capped at 20 graphemes to the app.bsky.actor.profile record (bluesky-social/atproto commit 8dc4caf). Twelve months later, at social-app commit f69ad16, the profile editor still renders no input bound to website or pronouns (bluesky-social/social-app), so a third-party AT Protocol client can write website while Bluesky's own users paste the URL into Description.

Because the link shares space with your bio, it helps to use one short, clear destination. For comparison with another profile setup, see LinkedIn’s Contact info field, or see how the Telegram bio link works for another app without a dedicated website field.

Can I pin a Bluesky post containing my link?

Yes, one pinned post per account. Bluesky released version 1.92 of its main app on 10 October 2024, adding support for pinned posts, and the profile record stores that choice in a single pinnedPost reference — so one post, not several, can sit above your feed.

The AT Protocol engineering blog states that “on October 10, Bluesky released version 1.92 of our main app,” and that the release “added support for ‘pinned posts,’ a long-requested feature”. The app.bsky.actor.profile lexicon implements it as a single pinnedPost property of type com.atproto.repo.strongRef, which is why an account can pin exactly one post (bluesky-social/atproto).

A pinned post gives you 300 graphemes and 3,000 bytes of text under the app.bsky.feed.post lexicon, versus 256 graphemes in the Description (bluesky-social/atproto, lexicons/app/bsky/feed/post.json @ f0d4877) — 44 more graphemes to spell out the offer in full sentences without competing for bio space. Adding a link to a Threads bio involves a similar pinned-post option.

Where should my Bluesky bio link point?

Point it at one clear paid action: for example, a $25 Paid Question, a $25 portfolio review through Custom Work, a $35 Personalized Video, or a $3 Tip. Concrete choices answer “how much should I charge?” better than a vague “support me” link. Bluesky’s Description is too scarce to spend on “DM me for a quote”: a Brillay Custom Work link can show exactly what the portfolio review covers, what it costs, and when it will arrive, so the follower submits a paid brief rather than opening a negotiation. Framing support as a one-time Tip or a named Goal makes it a clear paid choice instead of a vague donation ask.

The Description's 256-grapheme, 2,560-byte ceiling is a hard schema constraint on the whole bio, links included (bluesky-social/atproto), so every extra URL you add subtracts directly from the sentence that persuades someone to tap. Paid Questions are one question and one written reply, and Custom Work orders are one defined deliverable with one delivery.

For broader placement guidance, see what to put in your link in bio. If the goal is revenue, how to monetize your link in bio explains how to choose and price an offer.

For a separate review of Bluesky’s creator-payment options and limitations, see does Bluesky pay creators. That analysis can help you decide whether your profile link should lead to a portfolio, newsletter, or page for Paid Questions, defined Custom Work, and one-time support.

What should I decide before adding the link?

Decide what followers should do before you open Edit Profile: ask one paid question, buy one defined deliverable, send a one-time Tip, or support a Goal. Then use one URL and one short sentence that names that choice. Visitors should grasp within a line whether the destination lets them read, subscribe, buy, ask, or support.

Bluesky's Edit Profile screen has no website input to fall back on (bluesky-social/social-app), so the URL competes with your bio inside the lexicon's 256-grapheme, 2,560-byte cap (bluesky-social/atproto). A shortened or branded link protects that budget.

Frequently asked questions

Does Bluesky have a dedicated link-in-bio field?

No. At social-app commit f69ad16, Bluesky's shared Edit Profile component exposes only two text inputs, Display Name and Description, with no website field (bluesky-social/social-app). The schema added an optional website property on 24 September 2025 that the app still does not surface (bluesky-social/atproto commit 8dc4caf), so paste the URL into the Description field, capped at 256 graphemes and 2,560 bytes.

How many links can I add to my Bluesky bio?

The app.bsky.actor.profile lexicon sets no separate numerical cap on URLs; it constrains only the description string as a whole, to 256 graphemes and 2,560 bytes (bluesky-social/atproto). Every bio link therefore competes for the same 256 graphemes, and Bluesky's client blocks a save above that with its MAX_DESCRIPTION = 256 check (bluesky-social/social-app).

Does a Bluesky bio link require special formatting?

No. Paste the complete plain-text URL including https:// into the Description and save. Bluesky makes the saved URL clickable automatically, so you do not need Markdown-style link formatting.

How can I make my Bluesky link more visible?

Place the URL in your Description and pin a post that explains the destination. Bluesky has supported one pinned profile post since version 1.92, released 10 October 2024 (AT Protocol: “Lexicons”), and that post can carry 300 graphemes against the bio's 256 (bluesky-social/atproto).

If your primary action is “support my work,” one Brillay link can offer Paid Questions, Personalized Videos, Custom Work, Tips, Goals, and Brand Collaboration Inquiries (how it works), with creator-set fixed prices for each paid offer, no monthly fee, and payouts available in 41 countries — the fee breakdown is on pricing. Followers pay upfront, so you never have to answer or start the work for free — you can also decline a request, though no platform can prevent every dispute or chargeback.

Want your Bluesky link to lead somewhere followers can pay, ask, or support you? Create your free Brillay page: followers can check out by card without an account, you set fixed prices, purchases are one-time, not memberships, there is no follower minimum or monthly fee, and payouts are available in 41 countries.

Ready to get paid for the interactions you already get?

Create your free Brillay link